[JS]js的0,false,null,undefined对比的源代码示例
[JS]js的0,false,null,undefined对比的源代码示例 ,先看一段代码:
- <script type="text/javascript">
- alert(typeof (false) === "boolean"); //true
- alert(typeof (0) === "number"); //true
- alert(typeof ("") === "string"); //true
- alert(typeof (null) === "object"); //true
- alert(typeof (undefined)=== "undefined"); //true
- </script>
上面这段代码中:false 、0、空字符串、null、undefined依次指待的是:布尔值,数值,字符串,对象,undefined类型。
所以0,false,null,undefined,空字符串都不是指待的同一个概念,不要弄混。
下面我们使用ECMAScript 等性运算符 来做一下运算判断。
- <script type="text/javascript">
- alert(false == 0); //true
- alert(""==0); //true
- alert(null==0);//false
- alert(undefined==0); //false
- alert(0==0);
- </script>
从上面的结果可以得出0只能代表数字,字符串和布尔值。不能用来代替对象和undefined。不过在判断字符串的时候可以通过字符串的长度来判断,把字符串转换为number。
- <script type="text/javascript">
- alert(false == undefined); //false
- alert(false == null); //false
- alert(false == 0); //true
- alert(false == ""); //true
- alert(null == undefined);//true
- </script>
false可以用来代替0和空字符串。但是null与undefined具体有和区别呢?
null和undefined其实两个都是对象。undefined表示无效对象,null表示空对象。如果变量显式或者隐式(由Javascript引 擎进行赋值)地被赋予了undefined,那么代表了此变量未被定义,如果被赋予null值,则代表此变量被初始化为空值。
- <script type="text/javascript">
- var a;
- alert(a);//<span>undefined</span> </script>
- 其实变量如果声明了但是没有初始化,那么Javascript引擎会将此变量自动指向undefined对象。就像上面那段代码一样。
- 最后希望这份手记能够给你带来方便。
热门文章推荐
- [JS]window.location获取url各项参数详解
- [JS]jQuery,javascript获得网页的高度和宽度
- [JS]视频弹窗视频弹出层videoLightBox(含三种播放器的用法)
- [JS]JS提交中文encodeURI两次转码
- [JS]js版方面encodeURI转码和decodeURI解码的用法实例
- [JS]js取当前机子的时间戳实例
- [JS]AES加密(基于crypto-js)PHP后端解密
- [JS]data:image/png;base64写法的用途及说明