JS必会知识之undefined与null
一、null是什么?
null表示 “没有对象”,即该处不应该有值。
(1)作为函数的参数,表示该函数的参数不是对象。
(2)作为对象原型链的终点。
console.log(Object.prototype.__proto__);//null
二、undefined是什么?
undefined表示“缺少值”,就是此处应该有一个值,但是还没有定义。
(1)变量被声明了,但没有赋值时,就等于undefined。
var obj3;
console.log(obj3);
(2)调用函数时,应该提供的参数没有提供,该参数就等于undefined。
var obj4 = 'javascript';
function f2(params){
console.log(params);
}
f2();
(3)对象没有赋值的属性,该属性的值为undefined。
var obj1 = 'javascript';
function f(params){
console.log(params.name);
}
f(obj1);
(4)函数没有返回值时,默认返回undefined。
var obj = {
name:'javascript'
};
function f1(params){
params.name;
}
console.log(f1(obj));
三、采坑点
undefined + 6 // NaN
null + 6 // 6
//转化的时候,undefined为NaN,null为0.
Number(undefined) // NaN
Number(undefined + 10) //NaN
Number(null) // 0
Number(10 + null) // 10
undefined === null //false
undefined == null //true