任何变量,如果未经声明,那它就归window所有。比如:
a = 10;
就等于
window.a = 10;
一切声明的变量,也归window所有。比如:
var a = 10;
也等于
window.a = 10;
那么window是什么呢?
其实它就是一个全局的域
预编译发生在函数执行的前一刻
1.创建AO对象
2找形参和变量声明,将变量和形参名作为AO的属性名,值为undefined
3.将实参值和形参统一
4.在函数体里面找函数声明,值赋予函数体
function fn(a){
console.log(a);
var a = 123;
console.log(a);
function a(){}
console.log(a);
var b = function(){}
console.log(b);
function d(){}
}
}
fn(1);
你能看出会打印出什么吗?