作用域概念预解析规则
作用域:在一定的空间、范围、区域对内容进行读写!
浏览器 js解析器
1、会去找 var function参数等,
a=未定义 所有变量,在正式运行之前 ,都提前赋了一个值 未定义;
fn1=function fn1(){alert(2);} 所有的函数,在正式运行代码之前,都是整个函数块
这种叫做js 预解析 .预解析的时候,相同名字会复盖前面位置
2、逐行解读代码 :表达式:= + - * / % ++!参数….. 表达式会更改 预解析的值
console.log(a);//undefined
var a = 1;
console.log(a);//1
console.log(b);// function b() {console.log(4);}