undefined与null的区别

null 表示一个对象被定义了,值为“空值”

undefined 表示不存在这个值

1.undefined

typeof undefined    //"undefined" 

 undefined 是一个表示"无"的原始值或者说表示"缺少值",就是此处应该有一个值,但还没有定义。当尝试读取时会返回 undefined

例如变量被声明了,但没有赋值时,就等于 undefined

(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。

//1 变量被声明了,但没有赋值时,就等于undefined。
var name;
name  //undefined


//2 调用函数时,应该提供的参数没有提供,该参数等于undefined。
function f(x) {
  console.log(x)
}
f()  //undefined


//3 对象没有赋值的属性,该属性的值为undefined。
var obj = new Object();
obj.name  //undefined

//4 函数没有返回值时,默认返回undefined。
var val = f()
val //undefined

2.null 

typeof null    //"object"   

null 是一个空对象(空对象, 没有任何属性和方法)

例如作为函数的参数,表示该函数的参数不是对象

(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。 

 注意: 在验证 null 时,一定要使用=== ,因为 == 无法分别 null 和 undefined undefined 表示"缺少值",就是此处应该有一个值,但是还没有定义。

你可能感兴趣的:(前端,javascript,开发语言)