面试官问:null和undefined有什么区别
来自这里 https://stackoverflow.com/a/5...
先来看一下大神的文章:undefined与null的区别 - 阮一峰的网络日志再来看:JavaScript 数据类型
js 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空对象(Null)、未定义(Undefined)、Symbol。
Undefined在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。实例var person; // 值是 undefined,类型是 >undefined任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。实例person = undefined; // 值是 undefined,类型是 undefinedNull在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。不幸的是,在 JavaScript 中,null 的数据类型是对象。您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。您可以通过设置值为 null 清空对象:实例var person = null; // 值是 null,但是类型仍然是对象您也可以通过设置值为 undefined 清空对象:实例var person = undefined; // 值是 undefined,类型是 undefinedUndefined 与 Null 的区别Undefined 与 null 的值相等,但类型不相等:typeof undefined // undefined typeof null // object null === undefined // false null == undefined // true
在 JavaScript 中,没有值的变量,其值是 undefined。typeof 也返回 undefined。
实例
var person; // 值是 undefined,类型是 >undefined
任何变量均可通过设置值为 undefined 进行清空。其类型也将是 undefined。
person = undefined; // 值是 undefined,类型是 undefined
在 JavaScript 中,null 是 "nothing"。它被看做不存在的事物。
不幸的是,在 JavaScript 中,null 的数据类型是对象。
您可以把 null 在 JavaScript 中是对象理解为一个 bug。它本应是 null。
您可以通过设置值为 null 清空对象:
var person = null; // 值是 null,但是类型仍然是对象
您也可以通过设置值为 undefined 清空对象:
var person = undefined; // 值是 undefined,类型是 undefined
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语言的关键字,表达的意思是“定义了但是为空”。
underfined
Underfined
void 0
undefined
Undefined
null
Null
none: 根本没有这个东西;undefined,有这个变量,但是没有赋值
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
暂无简介
文章 0 评论 0
接受
发布评论
评论(4)
来自这里 https://stackoverflow.com/a/5...
先来看一下大神的文章:
undefined与null的区别 - 阮一峰的网络日志
再来看:JavaScript 数据类型
js 值类型(基本类型):字符串(String)、数字(Number)、布尔(Boolean)、空对象(Null)、未定义(Undefined)、Symbol。
underfined
是Underfined
类型的一个值,但是这个underfined
是一个变量,可以被修改,所以很多地方用void 0
来获取undefined
值,表达的意思是“从未赋值”“从未定义”,任何变量在赋值前是Undefined
类型、值为undefined
。null
是Null
类型的一个值,是JavaSript语言的关键字,表达的意思是“定义了但是为空”。none: 根本没有这个东西;
undefined,有这个变量,但是没有赋值