6_ null 和 undefined
##最初的设计
JavaScript的最初版本是这样区分的:
- null是一个表示"无"的对象,转为数值时为0;
- undefined是一个表示"无"的原始值,转为数值时为NaN。
null && undefined 出现的场景
-
**null **
表示 "无"的对象,空对象指针
1、通过id获取元素没获取到时 返回null
2、在正则中搜索不到字符就会为null
3、作为对象原型链的终点 -
undefined
表示"未定义"缺少值,就是此处应该有一个值,但是还没有赋值。
1、变量被声明了,但没有赋值时,就等于undefined。
2、 调用函数时,应该提供的参数没有提供,该参数等于undefined。
3、对象没有赋值的属性,该属性的值为undefined。
4、函数没有返回值时,默认返回undefined。
5、简单数据类型自定义属性(只有复杂类型才能自定义属性)
<script>
window.onload = function(){
const box = document.getElementById('box');
console.log(box.style);
}
window.onload:
当页面加载完成执行函数内的代码。
</script>
//此时获取Id为box,获取不到,因为代码从上到下执行,加上window。onload就可以;
<body>
<div id="box"></div>
<!--window.onload的解释及使用方法: http://www.softwhy.com/article-2501-1.html -->
</body>