系统复习——作用域初探
2020-01-20 本文已影响0人
Sefa丶
一、预编译
eg: test();// 'a' -------------------------函数声明整体提升
function test(){ console.log('a') }
console.log(b); // undefined ------------------------变量 声明提升
var b = 123;
1.暗示全局变量:任何变量,如果变量未经声明就赋值,此变量就为全局对象所有。
eg: a = 123;
2.一起声明的全局变量,全是window的属性。
eg: var a = 123; =====> window.a = 123;
二、预编译四步骤:
1.创建AO对象
2.找形参和变量声明,将变量和形参名作为AO属性名,值为undefined
3.将实参值和形参统一
4.在函数体里面找函数声明,值赋予函数体
eg:
![](https://img.haomeiwen.com/i4871064/217de91fc2e0422f.png)