宜昌本地软件开发与弱电工程服务商
项目咨询 · 快速响应
您当前的位置: > 个人博客 > javascript

[JS]js的0,false,null,undefined对比的源代码示例

2016-10-13 00:16:48 点击量:83 标签: 收藏本文

[JS]js的0,false,null,undefined对比的源代码示例 ,先看一段代码:

  1. <script type="text/javascript"> 
  2.     alert(typeof (false) === "boolean");   //true 
  3.     alert(typeof (0) === "number");      //true 
  4.     alert(typeof ("") === "string");    //true 
  5.     alert(typeof (null) === "object");  //true 
  6.     alert(typeof (undefined)=== "undefined"); //true 
  7. </script> 

上面这段代码中:false 、0、空字符串、null、undefined依次指待的是:布尔值,数值,字符串,对象,undefined类型。

所以0,false,null,undefined,空字符串都不是指待的同一个概念,不要弄混。

下面我们使用ECMAScript 等性运算符 来做一下运算判断。

  1. <script type="text/javascript"> 
  2.     alert(false == 0);  //true 
  3.     alert(""==0);       //true 
  4.     alert(null==0);//false 
  5.     alert(undefined==0); //false 
  6. &nbsp;&nbsp;&nbsp;&nbsp;alert(0==0); 
  7. </script> 

从上面的结果可以得出0只能代表数字,字符串和布尔值。不能用来代替对象和undefined。不过在判断字符串的时候可以通过字符串的长度来判断,把字符串转换为number。

  1. <script type="text/javascript"> 
  2.     alert(false == undefined);   //false 
  3.     alert(false == null);   //false 
  4.     alert(false == 0);    //true 
  5.     alert(false == "");   //true 
  6.     alert(null == undefined);//true 
  7. </script> 

false可以用来代替0和空字符串。但是null与undefined具体有和区别呢?
null和undefined其实两个都是对象。undefined表示无效对象,null表示空对象。如果变量显式或者隐式(由Javascript引 擎进行赋值)地被赋予了undefined,那么代表了此变量未被定义,如果被赋予null值,则代表此变量被初始化为空值。

  1. <script type="text/javascript"> 
  2.     var a; 
  3.     alert(a);//<span>undefined</span> </script> 

 

  1. 其实变量如果声明了但是没有初始化,那么Javascript引擎会将此变量自动指向undefined对象。就像上面那段代码一样。 
  2.  
  3. 最后希望这份手记能够给你带来方便。  

 

ABOUT US
宜昌农人网络科技有限公司

我们是一家提供综合软件外包与弱电工程服务的技术公司。

业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。

公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室