JavaScript中null与undefined的比较
这两种类型近乎相等,都表示空值,在实际的操作中console.log(null == undefined)会输出true。但是它们之间有些的差别的,主要从定义、字面意思、使用情况等考虑。
从最初的的区分方式:null表示"无"的对象,转为数值时为0;undefined是一个表示"无"的原始值,转为数值时为NaN
undefined:表示"没有值",也就是说此处应该有一个值的,但还没有定义;
null:"没有对象",即该处不应该有值;
undefined会出现在哪,即应用:
当申明一个变量,但并未赋初始值时,这个变量的值就是undefined。
调用函数时,应该提供的参数并未提供,则该参数默认为undefined
访问对象没有赋值的属性,该属性默认为undefined。
函数没有定义return返回值时,默认返回undefined。
当return表达式没有显式的返回任何内容时,默认返回undefined
null会出现在哪?
定义一个变量,当我们希望它在将来保存对象时,最好将变量的初始值设为null。
对象原型链的终点是null
对于函数的参数,为了表示该函数的参数不是对象,会使用null。