1. 型分析 :
js のデータ型には、未定義、ブール、数値、文字列、オブジェクトなどが含まれます。最初の 4 つの型はプリミティブ型で、5 番目の型は参照型です。 。
コード
var a1; >var a2 = true;
var a4 = "こんにちは";
var a6 = null; ;
var a8 = unknown;
alert(typeof a); //「未定義」の表示
alert(typeof a2); Display "boolean" "
alert(typeof a3); //「数値」を表示
alert(typeof a4); //「文字列」を表示
alert(typeof a5); //「オブジェクト」を表示
alert (typeof a6); //「オブジェクト」を表示
alert(typeof a7); //「数値」を表示
alert(typeof a8); //「未定義」を表示>
上記のコードから、未定義値と未割り当て値は未定義であり、null は特別なオブジェクトであり、NaN は特別な数値であることがわかります。
2. 比較演算
コードをコピーします
コードは次のとおりです:
alert(a2 != a3) //「true」を表示
alert(a3 == a3);
alert (a3 != a3); //Display "true"
上記のコードから次の結論を導き出すことができます: (1) 未定義と null は等しい (2) NaN は等しいどの値とも等しくない、自分自身とも等しくない。
JavaScript 未定義属性
定義と使用法
未定義属性は、JavaScript の未定義値を格納するために使用されます。
構文
未定義
説明 for/in ループを使用して未定義のプロパティを列挙することはできません。また、delete を使用することもできません。操作文字を押して削除します。
未定義は定数ではないため、他の値に設定できます。
存在しないオブジェクトのプロパティを読み取ろうとした場合にも、Unknown が返されます。
ヒントと注意事項< 値は未定義と同等です。 ="= ="==">
< は値が未定義であるかどうかをテストするために使用されます。 while>
コードをコピー
コードは次のとおりです。
出力:
[補足] Null データ型
Jscript では、null データ型の値は null の 1 つだけです。キーワード null を関数または変数の名前として使用することはできません。
変数の型が「未定義」であるかどうかを確認することはできますが、変数を未定義と比較して存在するかどうかをテストすることはできないことに注意してください。次のコード例では、プログラマが変数
// このメソッドは機能しません
if (x == unknown)
// 何かを実行します
/ / このメソッドも機能しません - 確認する必要があります
// 文字列 "未定義"
if (typeof(x) == unknown)
// いくつかの操作を実行します
// このメソッドは有効です
if (typeof(x) == "unknown ")
// 特定の操作を実行します
未定義の値を null と比較することを検討してください。
someObject.prop == null;
次の状況では、比較結果は true になります。
プロパティ someObject.prop に null 値が含まれている場合、
プロパティ someObject.prop が存在しない場合。
オブジェクトのプロパティが存在するかどうかを確認するには、new in 演算子を使用できます。
if ("prop" in someObject)
// someObject には属性 'prop' があります
JavaScript では、null は未定義と同じは、かつては混乱を招くものでした。次の分析は、これをより明確に理解するのに役立ちます (または、より混乱します):
- null はキーワード、未定義はグローバル オブジェクトのプロパティ
- null はオブジェクト (プロパティを持たない空のオブジェクト)およびメソッド); unknown は、unknown 型の値です。次のコードを試してください:
document.writeln(typeof null); //return object
document.writeln(typeof unknown)
- オブジェクト モデルでは、すべてのオブジェクトは Object Or です。 null オブジェクトを除くそのサブクラスのインスタンス:
document.writeln(null instanceof Object); //return false
- null は未定義と「等しい (==)」ですが、「一致」(==) しません。 =)" in un 未定義:
document.writeln(null == unknown); // true を返す
document.writeln(null === unknown); // false を返す
- 操作中 null とunknown は false に型変換できますが、false にはなりません。 return false
document.writeln(unknown==false) //return false