言語設計のエラーのため、引数は配列として扱うことができます。
コードコピーは次のとおりです。
function zero(){
console.log(arguments [0]);
}
あるだろう
コードコピーは次のとおりです。
function zero(){
for(var i = 0; i <arguments.length; i ++){
console.log(arguments [i]);
}
}
JavaScriptはJavascであるという事実を利用します
ここでの引数変数は、実際の引数の配列のようなインターフェイスを提供します。ここでの引数の変動パラメーターのため、この興味深いことを使用して、過負荷などの興味深いことを行うことができます。
javscriptリロード
stackvoerflowでの過負荷について質問があるので、最初の答えは
コードコピーは次のとおりです。
if(typeof friend === "undefined"){
} それ以外 {
}
別の答えはです
コードコピーは次のとおりです。
switch(arguments.length){
ケース0:
//おそらくエラー
壊す;
ケース1:
//何かをします
壊す;
ケース2:
デフォルト://より多くのパラメーターのケースを処理するために落ちます
//他のことをします
壊す;
}
しかし、この方法は本当に見栄えがしません。私たちの機能は最終的にこのようになりますか?
コードコピーは次のとおりです。
function zero1(){
console.log( '引数1')
};
function zero2(){
console.log( '引数2')
};
function zero(){
if(arguments.length == 1){
zero1();
} それ以外{
zero2();
}
}
それは本当に見栄えがよくありません。スイッチを変更したとしても...ケースは良く見えません。
JavaScript引数は配列ではありません
引数は、私たちが見るように常に配列ではなく、時にはそうでないかもしれません。
コードコピーは次のとおりです。
function hello(){
console.log(typeof引数);
}
ここでは、引数のタイプはオブジェクトですが、配列のタイプもオブジェクトですが、配列に変換できます。
コードコピーは次のとおりです。
var args = array.prototype.slice.call(arguments);
しかし、これはこれが配列ではなく、アレイの唯一のプロパティ、つまり長さのみがあることを示しています。これに加えて
arguments.callee
現在実行中の関数への参照。
arguments.caller
現在実行中の関数を呼び出した関数への参照。
arguments.length
関数に渡された引数の数への参照。