この記事では主に、js 関数で値によってパラメーターを渡す例を紹介します。これは非常に優れた参考値です。皆さんのお役に立てれば幸いです。みんな。
js で関数パラメータを渡す方法は値渡しです。通常の状況では、関数パラメータの値を変更しても関数の外部の変数には影響しません。例:
'use strict'; var list = [1, 2, 3]; list.forEach(function(item) { item ++; }); console.log(list); // [ 1, 2, 3 ]
これは、js 関数がパラメーターを受け取ると、パラメーターの値と等しいコピー変数が生成されるためです。次のように js がどのように実行されるかを分析できます。パラメータにはオブジェクトが渡されます 毛織物?
'use strict'; var list = [1, 2, 3]; list.forEach(function(item, i) { // 第一个item是副本,第二个item是数组元素list[i] var item = item; // 副本item++ item ++; // 打印的是副本的值 console.log(item); // 2, 3, 4 }); // 原数组不会改变 console.log(list); // [ 1, 2, 3 ]
js がこのコードをどのように実行するかを分析してみましょう
'use strict';var list = [{a: 1, b: 2}]; list.forEach(function(item) { item.a ++; }); console.log(list); // [ { a: 2, b: 2 } ]
js のオブジェクトは参照型であるため、var item = item は list[i] のアドレスを item に代入することと同じであり、どちらも元のオブジェクトのアドレスを指しているため、値はどちらかによって変更されます。実際に、それらが指すオブジェクトを変更します。例では元のオブジェクトの値を item.a++ メソッドで変更しているので、最終的には [ { a: 2, b: 2 } ] が出力されるはずです。
関連する推奨事項:
以上がjs関数でパラメータを値で渡しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。