总结:
1.未经声明就赋值的变量归全局window所有
function test() {
var a=b=123
}
console.log(b) // 123 未经声明就赋值的变量属于全局
全局声明的变量也为window一个属性
2.三步曲,对比函数预编译仅仅缺少形参实参统一:
(1)生成一个GO对象 (Global Object) GO ===window
(2)找变量声明,将变量声明名作为GO属性名,值为undefined
(3)找函数声明,值赋予函数体,注意不是函数表达式
global = 100;
function fn(){
console.log(global);
global = 200;
console.log(global);
var global = 300;
}
fn();
var global;
结果为
a=100;
console.log(demo)
function demo(e){
function e