我团队的开发人员提到通过点表示法访问Object属性比括号表示法更快。例如:
var sample = { name: 'First Name' }
var nameBracket = sample['name']
var namePeriod = sample.name
在这种情况下,他们认为namePeriod
的分配比nameBracket
更快。
这是真的吗?如果是这样,为什么?如果没有,为什么不呢?
相关:如何测试这个假设或类似问题来确定JS函数的速度?
答案 0 :(得分:4)
当你想尝试测试不同方法的速度时,似乎事实上的工具是jsperf.com。
有人已经对此提出质疑,并为此进行了测试。
http://jsperf.com/dot-notation-vs-square-bracket-notation
结果似乎差不多。导致slowdows的原因是括号的内容是变量 - 此时编译器不能再对自己说'#34;哦,[' foo']与.foo相同..继续上"!