ホームページ  >  記事  >  ウェブフロントエンド  >  Javascriptの引数オブ​​ジェクトを詳しく解説_基礎知識

Javascriptの引数オブ​​ジェクトを詳しく解説_基礎知識

WBOY
WBOYオリジナル
2016-05-16 16:33:131054ブラウズ

前の記事では、JavaScript のデフォルトのパラメーターについて説明しました。この記事では、JavaScript の引数パラメーター オブジェクトについて説明します。

以下の例の関数では、渡されたさまざまなパラメータに従ってさまざまな処理を行うにはどうすればよいでしょうか?

コードをコピーします コードは次のとおりです:

function addAll() {
// ここで何をしましょうか?
}

// 6 を返す必要があります
addAll(1, 2, 3);

// 10 を返す必要があります
addAll(1, 2, 3, 4);

幸いなことに、JavaScript には上記の状況を処理できる引数オブジェクトがあります。引数オブジェクトは配列のようなオブジェクトです。引数オブジェクトについて詳しく知りたい場合は、ここをクリックして、引数オブジェクトを使用して上記の例を変更します。

コードをコピーします コードは次のとおりです:
function addAll() {
var sum = 0;
for (var i = 0; i < argument.length; i ) {

sum = 引数[i];
}

合計を返します;

}

// 6 を返します

addAll(1, 2, 3);

// 10 を返します

addAll(1, 2, 3, 4);

引数オブジェクトは配列のようなオブジェクトであると上で述べました。それをテストしてみましょう:

コードをコピーします コードは次のとおりです:
function getName() {
console.log(Array.isArray(arguments));
}
// false を出力します

getName("ベンジャミン");

上記のテスト結果は次のように表示されます:

これは配列オブジェクトではないのですが、配列オブジェクトとの違いは何でしょうか?詳細については、ここをクリックしてください。

次の例を実行するとエラーがスローされます:

コードをコピーします コードは次のとおりです:
function sortArgs () {
// Uncaught TypeError: unknown は関数ではありません
並べ替え済み = argument.sort()
並べ替えて返します;

}
sortArgs();

次のように、配列のようなオブジェクトを配列オブジェクトに変換できます。

コードをコピーします コードは次のとおりです:
function sortArgs () {
// 引数オブジェクトを実数の配列に変換します
var args = [].slice.call(arguments);
// これでうまくいきます!

ソート済み = args.sort()

並べ替えて返します;

}

//[1, 2, 3] を出力します

console.log(sortArgs(1,3,2));

この記事が役に立ったと思われる場合は、それを必要とするより多くの人に転送したいと考えています。記事が不適切な場合は、修正するようメッセージを残してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。