Javascript闭包与dojo lang.hitch
哪一种是最佳实践,哪一种会带来更好的性能 使用closure或dojo.lang.hitch 谢谢实际上Javascript闭包与dojo lang.hitch,javascript,dojo,closures,Javascript,Dojo,Closures,哪一种是最佳实践,哪一种会带来更好的性能 使用closure或dojo.lang.hitch 谢谢实际上lang.hitch(作用域,方法)返回一个闭包,即它返回一个函数,该函数将在给定的作用域中调用函数方法。这非常有用,尤其是在面向对象代码中定义回调时,因此您可以编写: on(dom.byId("button"), "click", lang.hitch(this, "callback")); 而不是: on(dom.byId("button"), "click", function(sco
lang.hitch(作用域,方法)
返回一个闭包,即它返回一个函数,该函数将在给定的作用域
中调用函数方法
。这非常有用,尤其是在面向对象代码中定义回调时,因此您可以编写:
on(dom.byId("button"), "click", lang.hitch(this, "callback"));
而不是:
on(dom.byId("button"), "click", function(scope, method) {
return function() {
method.apply(scope);
}
}(this, this["callback"])); // execute the anonymous function immediately to get a closure
类似这样的方法会奏效:
on(dom.byId("button"), "click", this["callback"]);
但是方法中的这个
将指向按钮
请参阅JSFIDLE中的完整代码和其他详细信息: