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>