摘要:
1.js解析器运行时会产生全局对象global,其他全局变量则是global对象的属性。2.非顶层代码中的变量为局部变量,又称为调用对象的属性。3.预解析var变量,初始化为undefined(预解析是入栈的过程,无论是引用数据类型还是非引用数据类型,都要分配内存。引用类型数据在内存中存放引用指针,非引用数据类型存放变量名),function f(){}这样的函数会被直接编译,非var声明的变量默认为全局变量。4.创建作用域执行环境,依次为:调用对象(细分为嵌套函数的调用对象,调用对象)、全局对象。ok,明白了以上几点,以下的几个示例便没有什么问题了。1.f7();f6();//error,f 阅读全文