js argmentsとcaler、calee
1047 ワード
javascriptの関数の暗黙のパラメータ:argments
argmentsは関数コールを行う場合、指定されたパラメータの他に作成された隠しオブジェクトです.Agmentsは配列のようなアクセス特性と方式を持っているため、配列の対象ではないが、配列のような配列であるという.
対応する単一パラメータの値には、argments[n]がアクセスでき、配列長属性lengthを持つ.また、argmentsオブジェクトは、関数宣言によって定義されたパラメータリストに限定されず、実際に関数に伝達されるパラメータを格納し、argmentsオブジェクトを明示的に作成することができません.アーグメンントオブジェクトは関数の開始時のみ使用できます.
javascriptでは、パラメータ名を明確に示す必要がなく、それらを訪問することができます.例えば:
functionName.caller呼び出し方法の内容argments.calleeが呼び出される方法の内容
argmentsは関数コールを行う場合、指定されたパラメータの他に作成された隠しオブジェクトです.Agmentsは配列のようなアクセス特性と方式を持っているため、配列の対象ではないが、配列のような配列であるという.
対応する単一パラメータの値には、argments[n]がアクセスでき、配列長属性lengthを持つ.また、argmentsオブジェクトは、関数宣言によって定義されたパラメータリストに限定されず、実際に関数に伝達されるパラメータを格納し、argmentsオブジェクトを明示的に作成することができません.アーグメンントオブジェクトは関数の開始時のみ使用できます.
javascriptでは、パラメータ名を明確に示す必要がなく、それらを訪問することができます.例えば:
function hi(){
if(arguments[0]=="andy"){
return;
}
alert(arguments[0]);
}
argments[0]で最初のパラメータにアクセスできます.このように類推します.functionName.caller呼び出し方法の内容argments.calleeが呼び出される方法の内容
function testFunction()
{
//
if(arguments[0]=='111')
{
alert('w');
}
if(arguments[0]=='222')
{
alert('x');
}
// function(){}
alert(testFunction.caller);
//
alert(arguments.callee);
}