ホームページ > 記事 > ウェブフロントエンド > jsの未定義型、未定義、null、_javascriptスキル判定の違いを詳細に分析
js が未定義の型を決定します
今日は、showModalDialog を使用してページを開いて値を返します。開いているページで閉じるボタンをクリックした場合、またはブラウザで直接閉じるボタンをクリックした場合の戻り値は未定義です
ので、ご自身で判断してください
var reValue=window.showModalDialog("","","");
if (reValue== 未定義){
アラート("未定義");
}
それを見分けることができないことがわかり、最終的に情報を確認したところ、typeof を使用する必要がありました
メソッド:
if (typeof(reValue) == "unknown") {
alert("unknown")
}
typeof は文字列を返します。可能性は 6 つあります: 「数値」、「文字列」、「ブール値」、「オブジェクト」、「関数」、「未定義」
js の unfined、null、NaN の違い
1. 型分析:
js のデータ型には、未定義、ブール、数値、文字列、オブジェクトなどが含まれます。最初の 4 つの型はプリミティブ型で、5 番目の型は参照型です。 。
var a1;
var a2 = true;
var a3 = 1;
var a4 = "Hello";
var a5 = new Object();
var a6 = null ;
var a7 = NaN;
var a8 = unknown;
alert(typeof a); //「未定義」を表示します
alert(typeof a1); //「未定義」を表示します
alert(typeof a2); //"boolean"
alert(typeof a3); //"number"
alert(typeof a4)を表示します。 //"string"
alert(typeof a5)を表示します。 ; //「オブジェクト」
alert(typeof a6) を表示します。 //「オブジェクト」
alert(typeof a7) を表示します。 //「number」
alert(typeof a8) を表示します。未定義"
上記のコードからわかるように、未定義値と未割り当て値は未定義であり、null は特別なオブジェクトであり、NaN は特別な数です。
2. 比較演算
var a1; // a1 の値は未定義です
var a2 = null;
var a3 = NaN;
alert(a1 = = a2); //「true」を表示します
alert(a1 != a2); //「false」を表示します
alert(a1 == a3); //「false」を表示します
alert(a1) ! = a3); // "true"
alert(a2 == a3) を表示します。 // "false"
alert(a2 != a3) を表示します。 a3 == a3); //「false」を表示します
alert(a3 != a3); //「true」を表示します
JavaScript 未定義プロパティ
定義と使用法
unknown 属性は、JavaScript の未定義の値を格納するために使用されます。
構文
未定義
説明
for/in ループを使用して未定義のプロパティを列挙することはできません。また、delete 演算子を使用して未定義のプロパティを削除することもできません。 未定義は定数ではないため、他の値に設定できます。
存在しないオブジェクトのプロパティを読み取ろうとした場合にも、Unknown が返されます。
ヒントとメモ
ヒント: == 演算子は未定義の値を null と同等と見なすため、値が未定義かどうかをテストするには === 演算子のみを使用できます。 注: null は値がないことを意味し、未定義は未宣言の変数、宣言されているが値が割り当てられていない変数、または存在しないオブジェクト プロパティを意味します。
例
この例では、2 つの変数のうち 1 つが未定義であることを検出します:
t2 は未定義です