闭包(参阅第7章)
闭包是指 有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式是在一个函数内部创建另一个函数,那么内部函数作用域链中包含了外部函数的作用域,就是所谓的闭包。
书中总是在强调第一次调用时会创建一个执行环境,但是我觉得应该是每次调用都会产生一个执行环境,而一个执行环境都有一个表示变量的对象——变量对象。下面是增强的例子
var name = "The window";var object = {name: "My object",getNameFunc : function() {var that = this;return function() {return that.name;}}};alert(object.getNameFunc())
模仿块级作用域:
(function() {
// 块级作用域
}) ();