一、什么时候数据为undefined
1、 定义变量未赋值
2、函数定义形参调用的时候没有传入实参
3、函数没有指定返回值的时候获取的值都为undefined
4、 获取对象未定义的属性
总结: undefined表示当前值不一定需要,可暂时不存在,当浏览器引擎解析不了的时候会抛出undefined甚至报错。所以在定义变量的时候不建议赋值为undefined
代码示例:
<script type="text/javascript">
/*
* Undefined(未定义)类型的值只有一个,就undefind
* 当声明一个变量,但是并不给变量赋值时,它的值就是undefined
*/
var b = undefined;
console.log(b)
var b1;
console.log(b1)
function f(b2) {
console.log(b2)
}
f();
console.log( f())
</script>
二、什么时候数据为null
1、当某一个变量应该存在但不确定具体值的时候
2.、对象的某一个属性值需要通过后期计算得到可暂时赋值为null
3.、null表示空的对象,浏览器引擎在解析的时候不会报错
4.、当某一个变量指向的对象不在使用的时候,可将变量赋值为null,使得之前的对象为垃圾对象被回收
总结:和undefined相比null表示确确实实存在的对象,当某一个变量未确定值的时候可暂时赋值为null
代码示例:
<script type="text/javascript">
/*
* Null(空值)类型的值只有一个,就是null
* null这个值专门用来表示一个为空的对象
*/
var a = null;
console.log( a)
</script>