面试官问:null和undefined有什么区别
先来看一下大神的文章:
undefined与null的区别 - 阮一峰的网络日志
再来看:JavaScript 数据类型
js 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空对象(Null)、未定义(Undefined)、Symbol。
Undefined
在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。
实例
var person; // 值是 undefined,类型是 >undefined
任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。
实例
person = undefined; // 值是 undefined,类型是 undefined
Null
在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。
不幸的是,在 JavaScript 中,null 的数据类型是对象。
您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
您可以通过设置值为 null 清空对象:
实例
var person = null; // 值是 null,但是类型仍然是对象
您也可以通过设置值为 undefined 清空对象:
实例
var person = undefined; // 值是 undefined,类型是 undefined
Undefined 与 Null 的区别
Undefined 与 null 的值相等,但类型不相等:
typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
underfined
是 Underfined
类型的一个值,但是这个underfined
是一个变量,可以被修改,所以很多地方用 void 0
来获取undefined
值,表达的意思是“从未赋值”“从未定义”,任何变量在赋值前是 Undefined
类型、值为 undefined
。null
是Null
类型的一个值,是JavaSript语言的关键字,表达的意思是“定义了但是为空”。
8 回答4.6k 阅读✓ 已解决
6 回答3.3k 阅读✓ 已解决
5 回答2.8k 阅读✓ 已解决
5 回答6.3k 阅读✓ 已解决
4 回答2.2k 阅读✓ 已解决
4 回答2.7k 阅读✓ 已解决
3 回答2.4k 阅读✓ 已解决
来自这里 https://stackoverflow.com/a/5...