Javascript変数の宣言と役割ドメイン
3253 ワード
Javascript変数宣言
JavaScriptでは、二重引用符で文字列を宣言したり、一重引用符で文字列を宣言したりできます.主にhtmlとの統合を容易にし、エスケープの面倒を避けるためです.
JavaScriptはダイナミックタイプなので
var i=10;i=「test」は合法です.
var m,n,x,y=10;合法的だ
変数が使用可能かどうかを判断する
Javascriptでは、1つの変数で計算する場合、まず変数がundefinedでもnullでもないと判断します
2つの判断方法がありますが、違いがあるので、2つ目をお勧めします.
1つ目:
2つ目:
Javascriptには役割ドメインがありません
どうしてそう言うのですか.例を見てみましょう
alert(n);//アクセスできません.jsコードは上から下へ実行されます.このときnはまだ宣言されていません.
var n=22;
alert(n);//22,タグにまたがるアクセス変数n
デフォルトでは、scriptラベルに直接変数を定義すると、Windowsオブジェクトに属するグローバル役割ドメイン範囲(グローバル実行環境)に属します.
1ページの複数のラベルの変数は、互いにアクセスできます.
グローバル役割ドメイン範囲の変数は、Webページが閉じるかブラウザが閉じるまでリソースを解放しません.
JSにはごみ回収メカニズムがあり、放出可能な資源の変数を定期的に回収する.変数をnullに設定すると、回収可能であることを示します.注意:
関数内部のforまたはwhileまたはifなどのブロックで宣言された変数は、役割ドメインの範囲も関数全体です.
function f1(){ for(var i=0;i<5;i++){ var sum=10; if(i==4){ sum=100; } } alert(sum); } f 1();//100が得られ、sumの役割ドメインがf 1()内にあることを説明する.
混同を避けるために、関数内の最初から変数を宣言したほうがいいです.
変数を使用する前にvar宣言を使用しなくても、このような変数は「グローバル変数」(推奨しない)とみなされます.結論:JSにはブロックレベルの役割ドメイン範囲はありません.
JavaScriptでは、二重引用符で文字列を宣言したり、一重引用符で文字列を宣言したりできます.主にhtmlとの統合を容易にし、エスケープの面倒を避けるためです.
JavaScriptはダイナミックタイプなので
var i=10;i=「test」は合法です.
var m,n,x,y=10;合法的だ
変数が使用可能かどうかを判断する
Javascriptでは、1つの変数で計算する場合、まず変数がundefinedでもnullでもないと判断します
2つの判断方法がありますが、違いがあるので、2つ目をお勧めします.
1つ目:
<script type="text/javascript">
//var n;
//alert(n+100);// NaN, 。
// ,
// , x, ,
if(n){
alert(' ');
}else{
alert(' ');
}
</script>
2つ目:
<script type="text/javascript">
// , x,
//var x=10;
// :undefined , x , x
if(typeof(x)!='undefined'&&x!=null){
alert(' ');
}else{
alert(' ');
}
</script>
Javascriptには役割ドメインがありません
どうしてそう言うのですか.例を見てみましょう
alert(n);//アクセスできません.jsコードは上から下へ実行されます.このときnはまだ宣言されていません.
var n=22;
デフォルトでは、scriptラベルに直接変数を定義すると、Windowsオブジェクトに属するグローバル役割ドメイン範囲(グローバル実行環境)に属します.
1ページの複数の
グローバル役割ドメイン範囲の変数は、Webページが閉じるかブラウザが閉じるまでリソースを解放しません.
JSにはごみ回収メカニズムがあり、放出可能な資源の変数を定期的に回収する.変数をnullに設定すると、回収可能であることを示します.注意:
関数内部のforまたはwhileまたはifなどのブロックで宣言された変数は、役割ドメインの範囲も関数全体です.
function f1(){ for(var i=0;i<5;i++){ var sum=10; if(i==4){ sum=100; } } alert(sum); } f 1();//100が得られ、sumの役割ドメインがf 1()内にあることを説明する.
混同を避けるために、関数内の最初から変数を宣言したほうがいいです.
変数を使用する前にvar宣言を使用しなくても、このような変数は「グローバル変数」(推奨しない)とみなされます.結論:JSにはブロックレベルの役割ドメイン範囲はありません.