JavaScript中undefined与null的区别
来源:互联网 发布:中建六局 知乎 编辑:程序博客网 时间:2024/05/03 02:15
JavaScript中undefined与null的区别
通常情况下, 当我们试图访问某个不存在的或者没有赋值的变量时,就会得到一个undefined值。Javascript会自动将声明是没有进行初始化的变量设为undifined。
如果一个变量根本不存在会发生什么事:
>>> foo
ReferenceError: foo is not defined
我们得到了一个错误信息。我们在该变量上用typeof操作符看看它是什么类型:
>>> typeof foo
"undefined"
我们得到的结果为字符串“undefined”。
如果我们声明一个变量时没有对其进行赋值,调用该变量时并不会出错,但typeof操作符依然会返回字符串“undefined”。
>>> var somevar;
>>> somevar;
undefined
>>> typeof somevar;
"undefined"
而null值就完全是另外一回事啦。 他不能通过javascript来自动赋值,也就是说必须要我们自己手动来给某个变量赋值为null:
>>> var somevar = null;
>>> somevar;
null
而且,typeof操作符返回的是一个对象!
>>> typeof somevar;
"object"
虽然说,undefine与null之间的差别不是很大,但是他们在一些算数运算中表现得非常不一样:
>>> var i = 1 + undefined; i;
NaN
>>> var i = 1 + null; i;
1
这是因为undefined和null在被转换为其他基本类型时,方法存在一定的区别,下面我们给出一些可能的转换类型。
转换为数字(把undefined看做字符串,null看做0):
>>> 1 * undefined;
NaN
>>> 1 * null;
0
转换为布尔值:
>>> !!undefined;
false
>>> !!null;
false
转换为字符串(都相应的转换为字符串):
>>> ''+undefined;
"undefined"
>>> ''+null;
"null"
以上就是undefined与null的区别,以及在运算是要注意的地方。
分类: JavaScript
0 0
- JavaScript中undefined与null的区别
- javascript中undefined与null的区别
- JavaScript中undefined与null的区别
- JavaScript中undefined与null的区别
- JavaScript中Null与Undefined的区别
- JavaScript中null与undefined的区别
- JavaScript中undefined与null的区别
- Javascript 与 ActionScript 中 null、NaN和undefined的区别
- Web JavaScript中 null 与 undefined 的区别
- JavaScript的null与undefined的区别
- JavaScript undefined与null的区别
- JavaScript undefined与null的区别
- JavaScript undefined与null的区别
- JavaScript-undefined与null的区别
- javaScript:undefined与null的区别
- JavaScript 中 null 和 undefined 的区别
- JavaScript中null和undefined的区别
- javascript中undefined和null的区别
- java 字节流和字符流的区别 转载
- CSS overflow 属性
- uva 674(完全背包求方法数)@
- 链式哈希表
- jenkins 管理员密码重置
- JavaScript中undefined与null的区别
- spring mvc 实现网站登录与非登录的控制
- Fragment双层嵌套时,
- WIFI一键连接 iOS端 Configuration Profile 方式
- 欢迎使用CSDN-markdown编辑器
- setObject:ForKey:与setValue:ForKey:存值区别与联系
- 大数据可视化之矢量切片的生成及渲染
- 《Drools6.4 中文文档》第18章18.2 Quick Start(快速开始)
- java泛型(二)、泛型的内部原理:类型擦除以及类型擦除带来的问题