cbp*_*cbp 3 javascript performance cross-browser
根据经验,这些编写跨浏览器Javascript函数的方法中哪一个会表现更好?
方法1
function MyFunction()
{
if (document.browserSpecificProperty)
doSomethingWith(document.browserSpecificProperty);
else
doSomethingWith(document.someOtherProperty);
}
Run Code Online (Sandbox Code Playgroud)
方法2
var MyFunction;
if(document.browserSpecificProperty) {
MyFunction = function() {
doSomethingWith(document.browserSpecificProperty);
};
} else {
MyFunction = function() {
doSomethingWith(document.someOtherProperty);
};
}
Run Code Online (Sandbox Code Playgroud)
编辑:迄今为止所有优秀答案的Upvote.我已经将函数修复为更正确的语法.
到目前为止,关于答案的几点 - 虽然在大多数情况下它是一个相当无意义的性能增强,但是有一些原因可能仍然需要花费一些时间来分析代码:
Rex*_*x M 16
除非你这样做万亿次,否则没关系.使用对您和/或您的组织更具可读性和可维护性的那个.通过编写干净,简单的代码,您可以获得的生产率提高,而不仅仅是缩短JS执行时间的十分之一秒.
你甚至应该开始考虑什么时候表现更好,只有当你编写代码并且速度慢得令人无法接受时.然后你应该开始追踪瓶颈,这永远不会是这样的.在这里,从一个切换到另一个,你永远不会获得可衡量的性能提升.
| 归档时间: |
|
| 查看次数: |
333 次 |
| 最近记录: |