Javascript 触发聚合事件是否比直接调用侦听器函数慢?
处理事件是否会产生大量开销,特别是当事件只有一个侦听器时 例如,这样称呼它是否较慢:Javascript 触发聚合事件是否比直接调用侦听器函数慢?,javascript,polymer,Javascript,Polymer,处理事件是否会产生大量开销,特别是当事件只有一个侦听器时 例如,这样称呼它是否较慢: Polymer({ 'listeners': { 'some-event': 'someFunc', }, attached: function() { this.fire('some-event'); }, someFunc: function(event) { //do stuff.. } }); 与: Polymer({ attached: func
Polymer({
'listeners': {
'some-event': 'someFunc',
},
attached: function() {
this.fire('some-event');
},
someFunc: function(event) {
//do stuff..
}
});
与:
Polymer({
attached: function() {
this.someFunc();
},
someFunc: function() {
//do stuff..
}
});
当事件以同步方式(默认)触发时,没有明显的区别,特别是当处理程序调用
event.stopPropagation()
以使事件不会在DOM中上下冒泡时。如果事件是异步触发的,则仅在完全处理当前事件后(处理事件队列中的下一个任务时)才会调用处理程序。
如果没有具体原因,我会直接调用处理程序
对于对服务器的请求,差异根本不重要。如果您的目标是高帧速率,并且有成百上千个这样的呼叫,那么您可能会意识到这一点