2011-07-12 11 views
0

javascriptでローカル変数にグローバル変数を作成できるのはなぜですか?
javascript変数スコープ

function f() { x=10; } 
function g() { print(x); } 
f(x); 
g(x); 
+1

設計ミス。この欠陥は、ES5 strictモードでは削除されています。 –

+0

どうしてですか?私はそれが命名の競合を起こすかもしれないと思いますが、それが問題であればより良い変数名を与えるべきです。 –

+1

上記の私の声明のソース:http://es5.github.com/#C(第4の箇条書き) –

答えて

1

なぜローカルコードでグローバル変数を作成できるのですか?

完全な言語ではないためです。

キーワードの範囲を制限するには、varキーワードを使用します。

3

あなたは、彼らがグローバルスコープで自動的いるvarを持つ変数を前書きしません。

+0

それらに値を割り当てるコードが実行されるまでではありません。 – RobG

0

変数宣言の前にvarを指定する必要があると思います。

関連する問題