1 <script>
2 //预解析:js的解析器在页面加载的时候,首先检查页面上的语法错误。把变量声明提升起来。
3 //变量值提升变量名,不提升变量值。而用function直接定义的方法是整体提升。
4 //1.查看语法错误。
5 //2.变量声明提升和函数整体提升(变量声明提升的时候,只提升变量名,不提升变量值)
6 //3.函数范围内,照样适用。
7 var aaa;
8 console.log(aaa);//undefined
9 var aaa= 111;
10 aaa = 111;
11 fn();
12
13 function fn(bbb){
14 //变量声明提升在函数内部照样实用。
15 //函数的就近原则。
16 var aaa;
17 console.log(aaa);//undefined
18 aaa = 222;
19 }
20 fn2();
21 function fn2(bbb){
22 //两个函数中的局部变量不会相互影响。
23 console.log(bbb);//undefined
24 }
25
26 </script>