undefined、null、NaNの違いを知る
4238 ワード
1.従来の解釈では、nullは対象であり、空の値を表し、undefinedも対象であり、定義されていないことを示しています.
2.詳細分析
null
本の説明(Javascript権威の手引き)は、Javascriptのキーワードnullは特殊な値で、「無価値」を表しています.nullは、しばしばオブジェクトタイプの特殊な値、すなわち「オブジェクトなし」の値と見なされる.変数の値がnullであると、その値は有効なオブジェクト、配列、数字、文字列、ブール値ではないことが分かります.null対応タイプobject、ブール値false、数字0、文字列"null"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Dcument.getElemenntById(‘XXX’); 存在しない要素を探して、nullに戻ります.
undefined
undefinedはwindowオブジェクトの属性であり、キーワードではありません.本では、宣言されていない変数を使用した場合、または宣言されていますが、まだ与えられていない変数を使用した場合、または存在しないオブジェクト属性を使用した場合、この値を返します.undefined対応タイプundefined、ブール型false、文字列undefined、数字計算結果は必ずNaNです.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1. 修正されていないグローバル変数undefinedに直接アクセスします.var x=undefined そのxの値はundefinedです.
2. 宣言されていない変数を使うと、IEの下でエラーが発生し、「xxx」が定義されていません.すでに声明していますが、価値がなく、var xに似ています. alert(x) undefinedをイジェクト
3. 存在しないオブジェクトの属性を使用しました.
1
2
3
4
5
1
2
3
4
5
IEとサーチ犬のブラウザの下で、結果を返します. number 100
firefoxとchromeの下で、結果を返します. undefined NaN
undefinedの変数名は使わないほうがいいです.
undefinedを使うシーンです.
ある場面ではundefinedをよく使います.変数の類似性を定義したほうがいいです.
var x=undefinedは、性能を向上させることができます.これはjavascriptエンジンがundefinedを使う時はすべてwindowの対象を遍歴するので、undefined属性を探して、属性を遍歴する過程の中で大量の時間をもたらします.
nullとundefinedの比較
null==undefined trueに戻る
null==undefined falseを返します
はい、 undefinedの最適化
私たちはプログラムでundefinedを使う時、実際に使っているのはwindowオブジェクトです. undefined属性は、 windowオブジェクトの属性が多いです. undefined交际する时、windowオブジェクトのを捜索します. undefined属性は時間がかかります.必要に応じてよく使う undefinedのシーンでは、1つの部分を定義することができます. undefined変数
例えば:var undefined;
最後に宝玉伯のnullとundefinedに対する解釈を引用します.
値の種類の「虚無」はundefinedで、タイプの「虚無」を引用して、nullを使います.
2.詳細分析
null
本の説明(Javascript権威の手引き)は、Javascriptのキーワードnullは特殊な値で、「無価値」を表しています.nullは、しばしばオブジェクトタイプの特殊な値、すなわち「オブジェクトなし」の値と見なされる.変数の値がnullであると、その値は有効なオブジェクト、配列、数字、文字列、ブール値ではないことが分かります.null対応タイプobject、ブール値false、数字0、文字列"null"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
test =
null
;
// , object
document.write(
typeof
(test));
document.write(
"<br/>"
);
// , nulltest
document.write(test +
'test'
);
document.write(
"<br/>"
);
// , 10
document.write(test + 10);
document.write(
"<br/>"
);
// , false
if
(test) {
document.write(
"true"
);
}
if
(!test) {
document.write(
"false"
);
}
どんな場合にnullに戻りますか?Dcument.getElemenntById(‘XXX’); 存在しない要素を探して、nullに戻ります.
undefined
undefinedはwindowオブジェクトの属性であり、キーワードではありません.本では、宣言されていない変数を使用した場合、または宣言されていますが、まだ与えられていない変数を使用した場合、または存在しないオブジェクト属性を使用した場合、この値を返します.undefined対応タイプundefined、ブール型false、文字列undefined、数字計算結果は必ずNaNです.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
var
test;
// , undefined
document.write(
typeof
(test));
document.write(
"<br/>"
);
// , undefinedtest
document.write(test +
'test'
);
document.write(
"<br/>"
);
// , NaN
document.write(test + 10);
document.write(
"<br/>"
);
// , false
if
(test) {
document.write(
"true"
);
}
if
(!test) {
document.write(
"false"
);
}
どんな場合にundefinedに戻りますか?いくつかの場面をまとめました.1. 修正されていないグローバル変数undefinedに直接アクセスします.var x=undefined そのxの値はundefinedです.
2. 宣言されていない変数を使うと、IEの下でエラーが発生し、「xxx」が定義されていません.すでに声明していますが、価値がなく、var xに似ています. alert(x) undefinedをイジェクト
3. 存在しないオブジェクトの属性を使用しました.
1
2
3
4
5
var
coffee = {
x:
'1'
,
y:2
}
alert(coffee.z);
上でundefinedはjavascriptのキーワードではないと述べましたので、undefinedという名前の変数を定義できます.以下の通りです.1
2
3
4
5
var
undefined = 10;
document.write(
typeof
(undefined));
document.write(
"<br/>"
)
document.write(undefined * 10);
IEとサーチ犬のブラウザの下で、結果を返します. number 100
firefoxとchromeの下で、結果を返します. undefined NaN
undefinedの変数名は使わないほうがいいです.
undefinedを使うシーンです.
ある場面ではundefinedをよく使います.変数の類似性を定義したほうがいいです.
var x=undefinedは、性能を向上させることができます.これはjavascriptエンジンがundefinedを使う時はすべてwindowの対象を遍歴するので、undefined属性を探して、属性を遍歴する過程の中で大量の時間をもたらします.
nullとundefinedの比較
null==undefined trueに戻る
null==undefined falseを返します
はい、 undefinedの最適化
私たちはプログラムでundefinedを使う時、実際に使っているのはwindowオブジェクトです. undefined属性は、 windowオブジェクトの属性が多いです. undefined交际する时、windowオブジェクトのを捜索します. undefined属性は時間がかかります.必要に応じてよく使う undefinedのシーンでは、1つの部分を定義することができます. undefined変数
例えば:var undefined;
最後に宝玉伯のnullとundefinedに対する解釈を引用します.
値の種類の「虚無」はundefinedで、タイプの「虚無」を引用して、nullを使います.