前の記事では、JavaScriptのデフォルトパラメーターについて説明しました。この記事では、JavaScriptの引数パラメーターオブジェクトについて説明します。
次の例では、関数の渡されたパラメーターに基づいて異なる処理を行うにはどうすればよいですか?
コードコピーは次のとおりです。
関数addall(){
//ここで何をしますか?
}
// 6を返す必要があります
addall(1、2、3);
// 10を返す必要があります
addall(1、2、3、4);
幸いなことに、JavaScriptには、上記の状況を処理できる引数オブジェクトがあります。引数オブジェクトは配列オブジェクトです。引数オブジェクトの詳細を知りたい場合は、ここをクリックしてください。引数オブジェクトを使用して、上記の例を変更します。
コードコピーは次のとおりです。
関数addall(){
var sum = 0;
for(var i = 0; i <arguments.length; i ++){
sum += arguments [i];
}
返品額;
}
// 6を返します
addall(1、2、3);
// 10を返します
addall(1、2、3、4);
引数オブジェクトはクラスの配列オブジェクトであると上記で述べました。以下でテストしましょう。
コードコピーは次のとおりです。
関数getName(){
console.log(array.isarray(引数));
}
// falseを出力します
getName( "Benjamin");
上記のテスト結果を見ることができます:
それは配列オブジェクトではないので、それと配列オブジェクトの違いは何ですか?詳細については、ここをクリックしてください。
次の例を実行すると、エラーが発生します。
コードコピーは次のとおりです。
関数SORTARGS(){
// cont caught typeerror:未定義は関数ではありません
sorted = arguments.sort()
ソートされたreturn;
}
SORTARGS();
配列オブジェクトを次のような配列オブジェクトに変換できます。
コードコピーは次のとおりです。
関数SORTARGS(){
//引数オブジェクトを実際の配列に変換します
var args = [] .slice.call(arguments);
//これは機能します!
sorted = args.sort()
ソートされたreturn;
}
//出力[1、2、3]
console.log(sortargs(1,3,2));
この記事があなたに役立つと感じたら、私はそれをより多くの困っている人々に伝えたいと思っています。不適切な記事がある場合は、それを修正するためにメッセージを残してください。