请谅解我的无知,因为我对jquery不是很熟悉。是否有类似于dojo.hitch()的等价物?它返回一个确保在给定范围内执行的函数。
-- 编辑 --
如所请求,这里提供一个示例。我经常使用hitch来确保回调在正确的对象中执行。例如,假设我有一个名为doSomethingAsync
的实用方法,并将其传递给一个回调函数。使用hitch,即使实用方法执行ajax调用等操作,我也可以确保函数在特定范围内执行:
expectedScopeObj = {
flag: true,
callback: function(){console.debug(this.flag);},
main: function() {
// without hitch the callback function would not find flag
core.util.doSomethingAsync(dojo.hitch(this, this.callback));
}
}
如果没有使用 hitch,回调函数可能会在不同的作用域中执行,并且当使用 this.flag
时会抛出错误并且未定义。但是,使用 hitch 将保证它在 execptedScopeObj
中执行。