z()
実行コンテキストがグローバルx
変数をオーバーライドしないのはなぜですか?JavaScript実行コンテキストのスコープ
var x = 10;
function z(){
var x = x = 20;
}
z();
console.log(x); // Why is 10 printed? Shouldn’t it be 20.
var a = b = c = 0;
それは意図したとおりにb
とc
はグローバルではなく、地元の人たちのように宣言されていることを意味します。例えば
:
ロジックの上で行くvar y = 10;
function z(){
var x = y = 20; // Global y is overridden.
}
z();
console.log(y); // Value is 20.
、z()
でx = x = 20
はx
ローカルx
変数をオーバーライドそれでもx
のグローバル値が10
あるグローバルであることを意味します。
インタプリタがあなたの表現を順不同で評価するJavaScriptへようこそ。 –