前言
今天是第十天,最近白天要帮奶奶做事只有晚上学习。今天记录一个简单而重要的知识点。
undefined
undefine表示这个地方缺少值,应该有一个值,但还没有定义。主要出现在以下4个地方
(1)变量被声明了,但没有赋值时,就等于undefined。
(2) 调用函数时,应该提供的参数没有提供,该参数等于undefined。
(3)对象没有赋值的属性,该属性的值为undefined。
(4)函数没有返回值时,默认返回undefined。
如果要判断一个值是否存在可以用undefined。
null
null表示不应该有值。这个值被定义了,定义为“空值”。所以var a=null是合法的。var a=undefined是不合法的。
(1) 作为函数的参数,表示该函数的参数不是对象。
(2) 作为对象原型链的终点。
Object.getPrototypeOf(Object.prototype)
// null
另外在call函数中如果第一个参数是null,this指向的是window。
扩展
对于一个没有经过定义的变量,只能进行一项操作,typeof
。
var data;
typeof data; //undefined
参考:阮一峰博客