JavaScriptのundefined、null、NaN(Not A Number)とtypeofは違います.
2037 ワード
JavaScriptのタイプは、undefined、null、number、string、bootlean、functionと他のObject引用タイプに分けられます.undefined,null,NaN(Not A Number)とtypeof undefined:オブジェクトが定義されていないか、初期化されていないか、または存在しないオブジェクト属性を表します.null:無値を表します.typeof演算子は文字列を返します.
typeof :
1.undefined:undefined
2.null:object
3.string:string
4.number:number
5.boolean:boolean
6.function:function
7.object:object
<script type="text/javascript">
<!--
alert(typeof(NaN));// number
var a=undefined;// var a;
alert(typeof (a));// undefined
alert(null == undefined);// true
alert(null==null);// true
alert(NaN == NaN);// false
alert(typeof (m));// undefined,
alert(typeof(document.xx));// undefined,
//-->
</script>
説明:1.NaNは特殊なnumberで、NaNはいかなる値とすべて等しくなくて、自分と同じではありません.2.undefinedタイプはnullから派生したので、それらは同じです.どのように値が定義されていないかを判断しますか?答え:使用==またはtypeofのように:<script>
<!--
var t1 = null;
var t2;// var t2 = undefined;
if(t1 === undefined){
alert('t1 undefined!');
}
if(t2 === undefined){
alert('t2 undefined!');
}
if(typeof(t2) == 'undefined'){
alert('t2 undefined use typeof!');
}
// undefined null , :
if(!t1){
alert('t1 is not set value!');
}
if(!t2){
alert('t2 is not set value!');
}
//-->
</script>
戻り値のない一つのfunctionは、以下のf 1(または直接returnに戻り、下のf 2)が実際に戻ってくるのはundefinedである.<script>
<!--
function f1(){
document.write('test function <br/>');
}
function f2(){
document.write('test function2 <br/>');
return;
}
alert(f1());// :alert(typeof f1()); undefined
alert(f2());// :alert(typeof f2()); undefined
//-->
</script>