爲什麼javascript允許在本地代碼中創建全局變量?
一個例子javascript變量範圍
function f() { x=10; }
function g() { print(x); }
f(x);
g(x);
爲什麼javascript允許在本地代碼中創建全局變量?
一個例子javascript變量範圍
function f() { x=10; }
function g() { print(x); }
f(x);
g(x);
爲什麼javascript允許在本地代碼中創建全局變量?
因爲它不是一個完美的語言。使用var
關鍵字來限制變量的範圍。
我想你需要在變量聲明之前指定var
以使其在範圍內。
設計錯誤。這個缺陷在ES5嚴格模式下已被刪除。 –
爲什麼不呢?我想這可能會導致命名衝突,但如果這是一個問題,您應該給出更好的變量名稱。 –
我上面的聲明來源:http://es5.github.com/#C(第四個項目符號) –