第3页 第一部分 附录
- 章节名:第一部分 附录
- 页码:第3页
动态作用域
function foo() { console.log(a); // 2 } function bar() { var a = 3; foo(); } var a = 2; bar();JavaScript并不具有动态作用域。它只有词法作用域 词法作用域让foo()中的a通过RHS引用到了全局作用域中的a,因此会输出2。 如果JavaScript具有动态作用域,输出3。 词法作用域是在写代码或者说定义时确定的,而动态作用域是在运行时确定的。(this也是!)词法作用域关注函数在何处声明,而动态作用域关注函数从何处调用。
20人阅读
○对本书的所有笔记 · · · · · ·
-
第1页 1
2.2.3 性能 引擎在代码中发现了eval(..)或with,它只能简单地假设关于标识符位置的判断都是无...
-
第2页 模块机制
5.5.1 var MyModules = (function Manager() { var modules = {}; function define(name, dep...
-
第3页 第一部分 附录
-
第4页 this和对象
this既不指向函数自身也不指向函数的词法作用域 this的绑定和函数声明的位置没有任何关系,只...
-
第5页 原型和委托
对于默认的[[Get]]操作来说,如果无法在对象本身找到需要的属性,就会继续访问对象的[[Protot...
> 查看全部5篇
说明 · · · · · ·
表示其中内容是对原文的摘抄