dojo/_base/lang包含两个有用的方法:lang.hitch和lang.partial。
1、JavaScript 中的运行上下文(execution contexts)
在JavaScript中,当一个函数被调用,一个运行上下文就被创建出来。上下文的创建经过如下阶段:
(1)arguments 参数对象的创建;
(2)函数作用域 scope 的创建;
(3)函数中变量 Variables 的实例化;
(4)this 属性(指向上下文 context 自身) 的创建。
this 属性是绝大多数开发者都会混淆的地方;它其实就是一个指向函数调用时作为上下文context(或叫作用域 scope)的对象的引用,在 JavaScript 中,函数执行时的实际上下文,是在函数被调用时才决定的。
作用域 (scope),它就是个对象,既可以作为方法函数调用执行时的空间,也可以作为方法函数、属性等的定义空间。后面会讲到词法作用域(lexical scope),可以认为为这是 JavaScript 中真正的作用域,词法作用域使用了闭包技术closures。
函数调用时的作用域(scope) ,在JavaScript中称为运行上下文(execution context)。
时间: 2024-11-05 12:15:40