5

JavaScript言語は参照渡し言語ですか、それとも値渡し言語ですか?

また、オブジェクトのプリミティブ型とVsの違いはありますか?

4

3 に答える 3

8

実際に共有することでcallという評価戦略を採用しています。

すべてのタイプは値で渡されます。参照渡しはありません。そうしないと、関数の呼び出しサイトで宣言された変数の内容を変更できます。通常、JSではオブジェクトは参照によって渡されると言われています。これらは実際には共有によって渡されます。つまり、オブジェクトのプロパティを変更できます。これらの変更は、そのオブジェクトへの参照を保持しているユーザーには表示されますが、参照自体は変更できません。

于 2013-02-23T18:21:31.017 に答える
5

オブジェクトは参照によって渡され、プリミティブは値によって渡されます。

プリミティブ値には次のものが含まれることに注意してください。

  • 番号
  • ブール値
  • undefined
  • null

詳細については、 MDNの関数を参照してください。

于 2013-02-23T18:20:42.083 に答える
1

プリミティブ以外はすべて参照によって渡されます。
JavaScriptのほぼすべてがオブジェクトです。Sirkoが言ったように、オブジェクトは参照によって渡されます。

したがって、関数/配列/オブジェクトはすべて参照によって渡されます。変数にアタッチされたルートオブジェクトについて話している場合でも、オブジェクトのプロパティ/メソッドについて話している場合でも、3ドットの深さでチェーンされている場合でも、配列内のオブジェクト、オブジェクトのプロパティとして、オブジェクトの配列内...

于 2013-02-23T18:25:07.867 に答える