2016-03-21 23 views
0
10 var x = 5; 
11 x = 10; 

は、10行目から11行目で変数x変更のメモリ位置をないか、JavaScriptエンジンは、ちょうどもともとライン10にxに割り当てられたメモリ領域を上書きし、そこに価値10を置いていますか?これは指定されているのか、エンジンに依存していますか?JavaScriptプリミティブ:同じメモリ位置、新しいメモリ位置、またはエンジンに依存しますか?

+3

これがあなたのコードにどのように影響するか説明できますか?さもなければ、それは楽しい質問ですが、スタックオーバーフローで期待される特定の問題ではありません。 –

+0

StackOverflowのすべてが正当とみなされるためには、自分のコードに直接影響を与えなければならないのですか?本当に?私はちょうどシーンの後ろに起こっていることの私の知識の深さを増加させる質問をすることはできません? – user1902183

+1

他のサイトを参照する際にはhttp://programmers.stackexchange.com/ –

答えて

1

Javascript documentationによれば、値を割り当てるとは、既に割り当てられているメモリに読み書きすることを意味します。

変数を割り当てると、メモリが割り当てられます。その値を変更すると、同じメモリ位置で読み書きが行われます。

+3

これはMozillaのSpiderMonkeyにも当てはまるかもしれませんが、エンジン依存ではありません。 (私はそれが想像できませんが...) –

+0

@TJCrowder:私は確かに変数について知っていると思ったすべてを変更するエンジン依存の最適化を想像することができます:-)それは簡単に2つのプロセッサレジスタ値がないか、まったく作成されていない(しかしすぐに '10 'です)。 – Bergi

関連する問題