0

重複の可能性:
JavaScript で var を使用する場合と使用しない場合の違い

ばかげた質問のようですが、ただ興味があります。

num = "hello";

alert(num);

なぜこれが可能なのですか?ここで num 変数を初期化しませんでした。

num = "hello";

それ以外の

var num = "hello";
4

2 に答える 2

6

var「この変数を使用できるようにする」ではなく、「この変数をこの関数にスコープする」ことを意味します。

オフのままvarにすると、関数の次のスコープで変数が使用されます。そのスコープに がない場合はvar yourVar、スコープ チェーンがグローバルになり、オブジェクトからぶら下がるまでスコープ チェーンを上に移動し続けwindowます (デフォルト オブジェクトが であるブラウザまたは別の JS 環境を想定window)。

(これは、おそらく使用していないstrict モードで変更されます。)

于 2012-05-14T11:59:06.257 に答える
1

キーワードを指定しないとvar、変数はグローバル スコープで作成されます (ブラウザの の下window)。

を追加するvarと、変数を現在のスコープに割り当てるだけです。ほとんどの場合、これは関数スコープになります。

一般に、グローバルスコープを汚染せず、同じ名前の複数の変数間の競合を防ぐために、関数スコープを使用することをお勧めします!

于 2012-05-14T11:59:36.820 に答える