缓存event.target有意义吗?
Does it make sense to cache event.target?
考虑到这些javascript代码,缓存事件是否有优势?目标?我使用这种事件是为了避免在一个竞争者中附加数千个事件侦听器。
我应该这样做吗?
$element.addEventListener("click",function(event)
{
if(event.target.id == "someid" )
{
event.target.dosomething
event.target.dosomething
event.target.dosomething
event.target.dosomething
}
else if (event.target.id == "someanotherid" )
{
event.target.dosomething
event.target.dosomething
event.target.dosomething
event.target.dosomething
}
});
或this:
$element.addEventListener("click",function(event)
{
if(event.target.id == "someid" )
{
var targetA = event.target;
targetA.dosomething
targetA.dosomething
targetA.dosomething
targetA.dosomething
}
else if (event.target.id == "someanotherid" )
{
var targetB = event.target;
targetB.dosomething
targetB.dosomething
targetB.dosomething
targetB.dosomething
}
});
是的,这是有道理的。变量比属性查找更快。不,你应该写
$element.addEventListener("click", function(event) {
var target = event.target;
if (target.id == "someid") {
target.dosomething1
target.dosomething2
target.dosomething3
target.dosomething4
} else if (target.id == "someanotherid") {
target.dosomethingelse1
target.dosomethingelse2
target.dosomethingelse3
target.dosomethingelse4
}
});
相关文章:
- 在前端javascript应用程序中使用DI容器有意义吗
- Node.js时使用async是有意义的
- Angular $q.reject().success(),这有意义吗?
- 在JavaScript中使用===进行字符串比较有意义吗
- 传递给IIFE包装器有多少全局变量是有意义的
- 将Epoch日期转换为有意义的Javascript日期
- 在标准ES6类中添加getter方法有意义吗
- 为给定数量的空格查找可能数量的有意义的英语单词
- 使用 html 选择和日期的依赖日期选择器有意义
- 在这个jQuery插件中,哪种策略更有意义
- 拥有基本服务是否有意义,如果是这样,这是一种好方法
- JS:如何在保持n个有意义的数字的同时简化列表的过度精确数字
- 在Lua VM上运行JavaScript是否有意义
- 在Java 8 Nashorn JavaScript引擎中同时加载脚本是否有意义
- 新手:在MDN上有意义的Javascript闭包示例
- 只使用twitter引导程序中的插件有意义吗
- 将angular服务与es6模块一起使用有意义吗
- 这个JavaScript函数有什么作用?有意义吗
- 在这种情况下,New有意义吗
- 缓存event.target有意义吗?