预编译
//JS:单线程,解释性语言(翻译一句,解释一句)
//JS执行之前,系统会通篇的扫面一边,看看是否有语法错误。eg:是否少个大括号。通篇扫描的过程就叫做语法分析
//imply global暗示全局变量 : 即任何变量。如果变量未经声明就赋值,此变量就为全局变量对象所有。
eg:a = 123;
eg:var a = b = 123
//一切声明的全局变量,全是window的属性
//window就是全局的域。
var a = 123 相当于 window{
a:123
}
console .log(a)相当于访问window.a,即访问window对象里a的属性
var a=123
var b=234
var c=345
window {
a:123
b=234
c=345
}
**预编译四部曲:
1:创建AO对象(又叫执行期上下文,就是函数产生的一个存储空间库。eg.AO{
})
2:找到变量声明和形参,将变量和形参名作为AO属性名,值为:undefined
3: 将实参和形参统一
4:在函数体里面找函数声明,值赋予函数体
//函数的预编译发生在函数执行的前一刻