2016-07-15 6 views
-3

次のjavascriptコードスニペットをmozilla Webコンソールに書き込もうとすると、予期せぬ動作が起こります。下記の画像を参照してください。しかし、私はそれを "var a"と定義したとき、一見間違った答えが出ます。私はそれが正常に動作しているクロムについてチェックしました。誰かがこのあいまいな行動を説明できますか?FirefoxのWebコンソールで予期しない動作が発生する、未定義の一致がうまく動作しない

enter image description here

+1

あなたが定義されている必要があります – Amit

+2

[尋ねる]読まなければなりません'a'変数を読み込んでコンソールをクリアし、このコードをもう一度書きました...その場合、' a'は 'undefined 'ではありません – Rayon

+0

Amit:申し訳ありません、私はこのフォーラムを初めて利用しています。私は間違いを見つけることができますか?質問しても間違いがありましたか?ありがとうございます。 –

答えて

0

ありaという名前のグローバル変数はすでに、おそらくだとそれは価値があります。 var a;宣言は新しい変数を作成しません。コードを次のように変更してみてください:

if (a === undefined) { 
    console.log("undefined is true"); 
} else { 
    console.log("undefined is false, a = " + a); 
} 

これで変数の値がわかります。

+0

ありがとう私はブラウザを閉じて、実行しました。それは働いた:) –

0

私はChromeでこの同じテスト(v51.0.2704.106)を行い、Firefoxの(v47.0.1)、および一貫性のある結果が見つかりました:

enter image description here

関連する問題