javascriptのargmentsオブジェクト

942 ワード

javascriptのargmentsオブジェクト:関数が呼び出されると、隠しオブジェクトのargmentsが作成され、このオブジェクトには実際の着信関数のパラメータが格納されます.このオブジェクトが表示できない作成は、このオブジェクトと配列が非常に想像されます.たとえば、索引を使用してオブジェクト内の単一パラメータにアクセスするか、あるいは、length属性値を使用して着信パラメータの数を返します.コードの例を見てください.
function a(x,y){
  for(var i=0;i<arguments.length;i++){
    console.log(arguments[i]);
  }
}
a(1,2,3,4)
 以上のコードは、関数定義時のパラメータリストではなく、1,2,3,4つのパラメータを順次ポップアップすることができます.アーグメンントオブジェクトを使用して、関数の再負荷を達成するためにシミュレーションすることができ、例えば、着信パラメータの数に応じて異なるコードを実行することができる.
argmentsオブジェクトのcalee属性:この属性は、関数オブジェクト自体に対する参照であり、匿名で再帰関数として実現することができます.
var sum=function(n){
  if(1==n){
    return 1;
  } 
  else{
    return n + arguments.callee(n-1);
  }
}
console.log(sum(100));
 以上のコードは、匿名でsum関数を再帰的に呼び出すことを実現する.
原文の住所は:http://www.softwhy.com/forum.php?mod=viewthread&tid=6301
詳細は下記を参照してください.http://www.softwhy.com/javascript/