Eva*_*man 1 javascript json jshint
我正在努力加速使用以下许多结构的旧JavaScript代码:
var obj = {
attr1: value,
attr2: value2,
...
attrN: valueN
};
someFunction(obj['attr1']);
Run Code Online (Sandbox Code Playgroud)
JSHint给了我以下建议:
['attr1'] is better written in dot notation.
Run Code Online (Sandbox Code Playgroud)
因此,它更喜欢obj.attr1过obj['attr1'].我理解这个警告的美学原因(在这里解释),但哪种符号更快?我认为前者会更有效率,因为后者涉及字符串文字的转换,但除了推测支持之外我别无其他.
我们非常感谢您提供的任何帮助.
他们几乎是平均的.看到这两个jsperf示例:
http://jsperf.com/dot-operator-vs-array-notation
http://jsperf.com/dot-notation-vs-bracket-notation/2
它们都表明它们在1%之内相似,但是,它们都表明数组符号的速度要快得多.
编辑:
浏览新创建的jsperfs,我发现了这两个:
http://jsperf.com/mpaaa
http://jsperf.com/property-dot-versus-string
它们都显示几乎相同,实际上,经过多次测试后,它们显示出不同的结果(有时点更快,有时数组表示法)
这是一个平局
另一个编辑:
browsercope是错误的,但是,至少在我看来,它在其他浏览器中显示了一些非常不均匀的测试,我在其中一个显示出巨大差异的测试中测试了它,但却找到了与我已经发现的相似的结果