用于访问Object属性的括号表示法比句点表示法慢吗?

时间:2016-03-25 05:11:43

标签: javascript performance object brackets notation

我团队的开发人员提到通过点表示法访问Object属性比括号表示法更快。例如:

var sample = { name: 'First Name' }
var nameBracket = sample['name']
var namePeriod = sample.name

在这种情况下,他们认为namePeriod的分配比nameBracket更快。

这是真的吗?如果是这样,为什么?如果没有,为什么不呢?

相关:如何测试这个假设或类似问题来确定JS函数的速度?

1 个答案:

答案 0 :(得分:4)

当你想尝试测试不同方法的速度时,似乎事实上的工具是jsperf.com。

有人已经对此提出质疑,并为此进行了测试。

http://jsperf.com/dot-notation-vs-square-bracket-notation

结果似乎差不多。导致slowdows的原因是括号的内容是变量 - 此时编译器不能再对自己说'#34;哦,[' foo']与.foo相同..继续上"!