JavaScript では、変数のスコープは関数によって分割されます。つまり、変数は特定の関数のスコープ内で有効です。例:
var f = false; 🎜>if( true) { var f = true; } //このとき、f は if 内、つまりブロック内にあり、これはまだグローバル スコープ内にあることと同じです
alert(f) / /したがって、結果は true
別の例:
var f = false;
function test() {
var f = true; //これは関数内で定義された変数であり、関数内でのみ有効です。関数の実行後、変数は解放されます。
}
test();
alert(f) //test() の実行により結果は false になり、変化しません。 🎜>
さらに、JavaScript では、宣言されたグローバル変数は、ウィンドウ オブジェクトの属性とみなすことができます。例:
var test = "これはテストです"
alert(window.test == test) / /結果は true
これは、上記の全体的な状況を検証するだけです。変数はウィンドウ オブジェクトの属性でもあります。
最後に、
[code]
を見てみましょう。 function test() {
f = false;
}
test();
alert(f) //結果は false
[html]
すると、変数宣言時にvar(暗黙宣言)を付けないと、関数内で定義されているにも関わらずグローバル変数とみなされます。