JavaScript中的undefined,null,N…

来源:互联网 发布:nginx lua waf 编辑:程序博客网 时间:2024/06/16 14:55

JavaScript中的undefined,null,NaN(Not ANumber)和typeof区别

  • 博客分类: 
  • JAVASCRIPT
http://duqiangcise.iteye.com/blog/1535241

JavaScript中的类型分为:undefined,null,number,string,boolean,function和其他Object引用类型。 
undefined,null,NaN(Not ANumber)和typeof 
undefined:表示一个对象没有被定义、或没有被初始化、或一个并不存在的对象属性。 
null:表示无值。 

typeof运算符返回的是一个字符串。 
Java代码  收藏代码
  1. 下面是typeof运算符对各个类型的返回结果:  
  2. 1.undefined:undefined  
  3. 2.null:object  
  4. 3.string:string  
  5. 4.number:number  
  6. 5.boolean:boolean  
  7. 6.function:function  
  8. 7.object:object  


Java代码  " quality="high" allowscriptaccess="always"type="application/x-shockwave-flash"pluginspage="http://www.macromedia.com/go/getflashplayer"> 收藏代码
  1. <script type="text/javascript" 
  2. <!--  
  3. alert(typeof(NaN));//输出number  
  4. var a=undefined;//等价于var a;  
  5. alert(typeof (a));//输出undefined  
  6. alert(null == undefined);//输出true  
  7. alert(null==null);//输出true  
  8. alert(NaN == NaN);//输出false  
  9. alert(typeof (m));//输出undefined,一个未定义的对象  
  10. alert(typeof(document.xx));//输出undefined,一个不存在的对象属性  
  11. //-->  
  12. </script>  

说明: 
1.NaN是一种特殊的number,NaN与任何值都不相等,与自己也不相等。 
2.undefined类型是从null派生出来的,所以它们是相等的。 

怎么判断某个值是否未定义? 
答:使用===或typeof 
如:
 
Java代码  收藏代码
  1. <script>  
  2. <!--  
  3. var t1 null 
  4. var t2;//或var t2 undefined;  
  5. if(t1 === undefined){  
  6.     alert('t1 undefined!');  
  7.  
  8. if(t2 === undefined){  
  9.     alert('t2 undefined!');  
  10.  
  11. if(typeof(t2) == 'undefined'){  
  12.     alert('t2 undefined use typeof!');  
  13.  
  14. //同时判断是否为undefined和null的方法,如下:  
  15. if(!t1){  
  16.     alert('t1 is not set value!');  
  17.  
  18. if(!t2){  
  19.     alert('t2 is not set value!');  
  20.  
  21. //-->  
  22. </script>  


一个没有返回值的function,如下的f1(或者直接return返回,如下f2)实际上返回的是undefined。 
Java代码  收藏代码
  1. <script>  
  2. <!--  
  3. function f1(){  
  4.     document.write('test function <br/>');  
  5.  
  6. function f2(){  
  7.     document.write('test function2 <br/>');  
  8.     return 
  9.  
  10. alert(f1());//等价于:alert(typeof f1());输出undefined  
  11. alert(f2());//等价于:alert(typeof f2());输出undefined  
  12. //-->  
  13. </script> 
0 0
原创粉丝点击