案例
<script>
let peron1 = {name:'zs',age:15};
window.onload = function(){
let person2 = {name:'lisi',age:18}
}
</script>
控制台打印person1与person2,person1正常显示,person2 is not defined。这是为什么呢?
- window.onload表示页面加载完成,所以我们可以访问到页面中的所有DOM。
- 页面中引用的资源文件也已经加载完成,图片、css、js、mp3、mp4.。。。
- 注意:页面是否加载完成,和一个变量能否被访问到没有任何的关系,只跟变量 当前的作用域有关.
- 在这里person1的作用域是全局的,可以被访问到。而person2由于在函数的内部,为局部变量,所以在控制台打印会报错。