作用域
1.js预解析
一个域内进行域解析的时候会提前解析var ,fucntion ,参数(解析顺序也是这样)
2.全局的域
每一对<script></script>标签代表一个作用域,这个作用域代表全局的,存在多个全局作用域的时候,每个全局域解析完,执行完才能到下个全局域进行解析执行。
每个域解析执行的内容保存到大仓库中,相同名字变量替换的时候,优先级:function>常量>undefined
Eg:
<script> alert(a);var a=1; </script>
<script> alert(a); function a(){ alert("123"); } </script>
<script> alert(a); </script>
弹出结果为:undefind,function a(){ alert("123"); },function a(){ alert("123"); }
3.局部的域
局部域在全局的域里边,局部域也存在预解析和执行的过程,局部域首先查找当前域下的变量,不然后顺着作用域链查找父级作用域链