作为一个经验法则,哪种编写跨浏览器Javascript函数的方法会更高效?
方法1
function MyFunction()
{
if (document.browserSpecificProperty)
doSomethingWith(document.browserSpecificProperty);
else
doSomethingWith(document.someOtherProperty);
}
方法2
var MyFunction;
if(document.browserSpecificProperty) {
MyFunction = function() {
doSomethingWith(document.browserSpecificProperty);
};
} else {
MyFunction = function() {
doSomethingWith(document.someOtherProperty);
};
}
编辑:感谢所有优秀答案的点赞。我已将函数修正为更正确的语法。
以下是关于迄今为止所提供答案的几点说明——虽然在大多数情况下,这是一个没有意义的性能增强,但仍有一些原因需要花费一些时间分析代码:
- 必须在慢速计算机、移动设备、旧浏览器等上运行。
- 好奇心。
- 使用相同的一般原则来增强其他场景的性能,其中 IF 语句的评估确实需要一些时间。