在函数中声明常量

时间:2016-08-26 23:55:59

标签: javascript performance

我想知道

之间是否有任何性能差异
var DATA = {a: 1, b: 2, ....};

function f() {
    ... use but do not modify DATA;
}

function f() {
    var DATA = {a: 1, b: 2, ....};
    ... use but do not modify DATA;
}

在现代Javascript引擎中。理论上,在后面的代码中,必须在每个函数调用上创建结构。但是引擎可以看到它没有被改变并保留它以供重复使用。

我完全清楚过早优化陷阱和可读性比性能更重要;我只是好奇。由于jsperf失败,我认为没有简单的方法可以自己获得一些数据。

1 个答案:

答案 0 :(得分:0)

相比之下会有性能差异。当你比较两者的时间表时。我们将观察到具有局部变量的函数可以快速工作。无论你用局部变量调用函数多少次,性能都会以第二种类型获胜。