0

次の行が警告されないのはなぜですか?

  <script>
  alert(x);//this line is not executed or alerted  ???.It should have alerted "undefined" 
  console.log(x)//reference error 
  var y="maizere";
  alert(y);//this line is also not executed or alerted  ???

  </script>

宣言されていない変数は、javascript でグローバル変数として扱われますか?

4

3 に答える 3

2

あなたは混乱しundefinedています。undeclared

変数xは宣言されていません - コードでまだ宣言されていないため、

alert(x);

のようなエラーが発生します'x' is not declared

あなたのコードは読むべきです

<script>
  var x;
  alert(x);//this line is not executed or alerted  ???.It should have alerted "undefined" 
  var y="maizere";
  alert(y);//this line is also not executed or alerted  ???
</script>
于 2013-01-31T14:41:35.663 に答える
2
alert(x);//this line is not executed or alerted  ???.It should have alerted "undefined" 

それは正しくありません。ReferenceErrorvariable がないため、この行では aが発生しますx

これを状況と対比してください:

var obj = {};
alert(obj.x); // undefined - there's no attribute x
于 2013-01-31T14:38:17.127 に答える
0

呼び出しの中に入れるものは何でもalert定義する必要があります。そうでない場合(あなたの場合)、エラーがスローされます。したがって、最初に変数を定義する必要があります。エラーについては、JavaScript (ブラウザ) コンソールを確認する必要があります。

var x = "Test";
alert(x); // shows
var y = 123;
alert(y); // y also shows, because there is no error thrown inside the alert for x
于 2013-01-31T14:38:01.967 に答える