JavaScript では、変数を宣言するために var が使用されますが、この構文は厳密には必須ではありません。多くの場合、var で宣言せずに変数を直接使用できます。
window. y = "hello"; function func(){ y = "OH, NO!!!"; } func(); alert(window.y); //#=> display "OH, NO!!!"
例:
var x = "window.x"; function a() { var x = "a's x"; var b = function() { var c = function() { //no var! x = "c's x:"; }; alert("before c run,the b.x:" + x); c(); alert("after c run, the b.x:" + x); }; alert("a.x is:" + x); b(); alert("after b function runed, the a.x is:" + x); }; alert("before a run, window.x:" + x); a(); alert("after a run, window.x:" + x);
window と a の両方で変数 x が定義されていますが、b では変数が定義されておらず、c では x が「暗黙的に」宣言されており、x は最終的に変数 a の値を変更します。
JavaScript で変数を宣言するときは、その前に var.
を付ける必要があることに注意してください。