jsは未定義の型を決定します
今回は、showModalDialog を使用してページを開いて値を返します。開いているページで閉じるボタンをクリックした場合、またはブラウザ上で直接閉じるボタンをクリックした場合の戻り値は不定です。
だから自分で判断してください
var reValue=window.showModalDialog("","","");
if (reValue== 未定義){
アラート("未定義");
}
見分けることができないことがわかり、最終的に情報を確認したところ、typeof を使用する必要がありました。
方法:
if (typeof(reValue) == "未定義") {
アラート("未定義");
}
typeof は文字列を返します。「数値」、「文字列」、「ブール値」、「オブジェクト」、「関数」、「未定義」の 6 つの可能性があります。
jsのunknown、null、NaNの違い
1.タイプ分析:
js には、unknown、boolean、number、string、object の 5 つのデータ型があり、最初の 4 つの型はプリミティブ型で、5 番目の型は参照型です。
変数a1;
var a2 = true;
変数a3 = 1;
var a4 = "こんにちは";
var a5 = 新しいオブジェクト();
var a6 = null;
var a7 = NaN;
var a8 = 未定義;
alert(typeof a); //「未定義」を表示します
alert(typeof a1); //「未定義」を表示
alert(typeof a2); //「ブール値」を表示します
alert(typeof a3); //「番号」を表示します
alert(typeof a4); //「文字列」を表示します
alert(typeof a5); //「オブジェクト」を表示します
alert(typeof a6); //「オブジェクト」を表示します
alert(typeof a7); //「番号」を表示します。
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); //「true」を表示します。
alert(a3 == a3); //「false」を表示します。
alert(a3 != a3); //「true」を表示します。
上記のコードから、次の結論を導き出すことができます: (1) 未定義と null は等しい; (2) NaN はどの値とも等しくないし、それ自体とも等しくない。
JavaScriptの未定義プロパティ
定義と使用法
未定義属性は、JavaScript の未定義値を格納するために使用されます。
文法
未定義
説明する
for/in ループを使用して未定義のプロパティを列挙したり、delete 演算子を使用してプロパティを削除したりすることはできません。
unknown は定数ではないため、他の値に設定できます。
存在しないオブジェクト プロパティを読み取ろうとした場合にも、Unknown が返されます。
ヒントとメモ
ヒント: == 演算子は、未定義の値を null と同等と見なすため、値が未定義かどうかをテストするには === 演算子のみを使用できます。
注: null は値がないことを意味し、unknown は未宣言の変数、宣言されているが値が割り当てられていない変数、または存在しないオブジェクト プロパティを意味します。
例
この例では、2 つの変数のうち 1 つが未定義であることを検出します。
<script type="text/javascript">
var t1=""
ヴァルト2
if (t1===未定義) {document.write("t1 は未定義です")}
if (t2===未定義) {document.write("t2 は未定義です")}
</script>
出力:
t2は未定義です