一、undefined和null的区别
从语义上来讲,undefined是未定义,而null是指空。
书面上定义:undefined是指对象属性或方法不存在,或声明了变量但从未赋值。
null是指一个变量中没有包含有效的数据。
1. 如有已下情况则返回undefined值
对象属性不存在,返回undefined
变量声明但未赋值,返回undefined
调用函数时,应该提供的参数没提供,则该参数为undefined
函数没有返回值时,默认返回undefined
2. 如有已下情况则返回null
变量作为函数的参数,表示该函数的参数不是对象
变量作为对象原型链的终点
二、undefined和null的使用场景
1. 判断一个变量是否存在
使用情景:登陆前没有tmp变量,登陆后存在tmp变量。
这时候用if判断不能直接if(tmp)来进行判断会出现报错,改为如下:
if(typeof tmp != "undefined")
2. 变量赋 null 值来清除变量的内容
var obj = {name: '张三', age: 12}
obj = null;
网友评论