教学之友,学习之友。

站长教学网

当前位置: 站长教学网 > 前端开发 > JS教程 >

JS中的false,0,null,undefined和空字符串区别

时间:2012-03-29 16:13来源:Kevin Yang 作者:ken 点击:

在Javascript中,我们经常会接触到题目中提到的这5个比较特别的对象--false、0、空字符串、null和undefined。这几个对象很容易用错,因此在使用时必须得小心。

类型检测

我们下来看看他们的类型分别是什么:from:eduyo.com 站长教学网

<script type="text/javascript">
    alert(typeof(false) === 'boolean');
    alert(typeof(0) === 'number');
    alert(typeof("") === 'string');
    alert(typeof(null) === 'object');
    alert(typeof undefined === 'undefined');
</script>

运行上述代码,弹出的对话框应该显示的都是true。也就是说,false是布尔类型对象,0是数字类型对象,空字符串是字符串类型对象,null是object对象,undefined类型还是undefined。

互等性

当你用==操作符将false对象和其他对象进行比较的时候,你会发现, 只有0和空字符串等于false;undefined和null对象并不等于false对象,而null和undefined是相等的

<scripttype="text/javascript">
    alert(false == undefined);
    alert(false == null);
    alert(false == 0);
    alert(false == "");
    alert(null == undefined);
</script>

我们可以把0、空字符串和false归为一类,称为"假值";把null和undefined归为一类,称为"空值"。假值还算一个有效的对象,因此可以对其使用toString等类型相关的方法,而空值则不行。下面的代码将会抛出异常:

<scripttype="text/javascript">
    alert(false.toString());    // "false"
    alert("".charAt(0));        // ""
    alert((0).toExponential(10));  // 0.0000000e+0
    alert(undefined.toString());    // throw exception "undefined has no properties"
    alert(null.toString());             // "null has no properties"
</script>

(责任编辑:ken)

TAG标签: js JavaScript null undefined 空字符串
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
注册登录:不允许匿名留言,登录后留言无需输入验证码。
栏目列表
最新内容