【发布时间】:2009-03-12 01:56:55
【问题描述】:
根据经验,这些编写跨浏览器 Javascript 函数的方法中哪一种性能更好?
方法一
function MyFunction()
{
if (document.browserSpecificProperty)
doSomethingWith(document.browserSpecificProperty);
else
doSomethingWith(document.someOtherProperty);
}
方法二
var MyFunction;
if(document.browserSpecificProperty) {
MyFunction = function() {
doSomethingWith(document.browserSpecificProperty);
};
} else {
MyFunction = function() {
doSomethingWith(document.someOtherProperty);
};
}
编辑: 为迄今为止所有好的答案投票。我已将函数修复为更正确的语法。
到目前为止,关于答案的几点说明 - 虽然在大多数情况下,这是一种相当没有意义的性能增强,但仍有一些原因可能需要花一些时间分析代码:
- 必须继续运行 慢速电脑、移动设备、旧 浏览器等。
- 好奇心
- 使用相同的 绩效的一般原则 增强其他场景 IF 语句的评估确实 需要一些时间。
【问题讨论】:
-
唉,这实际上不是跨浏览器代码,因为它依赖于仅在 mozilla 中出现的行为。
标签: javascript performance cross-browser