javascript中undefined和null的区别
来源:互联网 发布:java动态添加方法 编辑:程序博客网 时间:2024/06/07 14:19
javascript中有七种内置类型,分别是:
- 空值(null )
- 未定义(undefined )
- 布尔值(boolean )
- 数字(number )
- 字符串(string )
- 对象(object )
- 符号(symbol ,ES6 中新增)
但是null和undefined这两种类型很让人迷惑。因为两者的差别很小。
null == undefined;//true
其中null还有很奇怪的表现,比如:
typeof undefined === "undefined"; // truetypeof null === "object"; // true
这其实是javascript的一个bug。
null和undefined的区别
null是一个表示”无”的对象,转为数值时为0;undefined是一个表示”无”的原始值,转为数值时为NaN。
null表示”没有对象”,即该处不应该有值。典型用法是:
- 作为函数的参数,表示该函数的参数不是对象。
- 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)// null
undefined表示”缺少值”,就是此处应该有一个值,但是还没有定义。典型用法是:
- 变量被声明了,但没有赋值时,就等于undefined。
- 调用函数时,应该提供的参数没有提供,该参数等于undefined。
- 对象没有赋值的属性,该属性的值为undefined。
- 函数没有返回值时,默认返回undefined。
var i;i // undefinedfunction f(x){console.log(x)}f() // undefinedvar o = new Object();o.p // undefinedvar x = f();x // undefined
总结
简而言之,区别就是:
undefined是一个对象被声明但未初始化的(未定义的)。
null是用来存放一个空的对象的,也就是被声明而且已经初始化了。
阅读全文
0 0
- JavaScript 中 null 和 undefined 的区别
- JavaScript中null和undefined的区别
- javascript中undefined和null的区别
- JavaScript中null和undefined的区别
- Javascript中null和undefined的区别
- JavaScript中null和undefined的区别
- javascript中undefined和NULL的区别
- javascript中null和undefined的区别
- JavaScript中undefined和null的区别
- javaScript中null和undefined的区别
- JavaScript中“null”和“undefined”的区别
- JavaScript中“null”和“undefined”的区别
- JavaScript中null和undefined的区别
- JavaScript中null和undefined的区别
- JavaScript中null和undefined的区别
- javascript中undefined和null的区别
- JavaScript中null和undefined的比较和区别
- JavaScript中 null和undefined区别分析
- STL中的list和vector使用(一)更正
- vue-router 2.0
- c# 中的Rank属性和GetUpperBound,GetLowerBound(0)方法
- 阿里java面试题
- 关于对方DNS中未配置mx记录却能成功接收到邮件的问题
- javascript中undefined和null的区别
- VPP介绍
- PHP培训机构排名
- spring框架的ioc和aop通俗解释
- spring整合消息队列rabbitmq
- Transpose File
- 30个提高Web程序执行效率的好经验
- 27 WebGL的正确处理对象的前后关系
- C#获取打印机列表