Что является лучшей практикой, которая приводит к лучшей производительности?Закрытие Javascript VS dojo lang.hitch
используя закрытие или dojo.lang.hitch?
Благодаря
Что является лучшей практикой, которая приводит к лучшей производительности?Закрытие Javascript VS dojo lang.hitch
используя закрытие или dojo.lang.hitch?
Благодаря
На самом деле lang.hitch(scope, method)
возвращает замыкание, то есть он возвращает функцию, которая будет вызывать функцию method
в данной scope
. Это особенно полезно при определении обратных вызовов в объектно-ориентированного кода, так что вы можете написать:
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"]);
но this
внутри callback
метод укажет на button
.
Смотрите полный код с дополнительными деталями в jsFiddle: http://jsfiddle.net/phusick/r7jLr/
ТНХ для вашего ответа – jbduzan