JMa*_*Max 13 javascript string performance
我们想知道在这个帖子中,如果你想获得第一个字符的使用.substr(0,1)
和使用之间存在真正的区别.charAt(0)
(实际上,它可以适用于你只想要一个字符的任何情况).
每个中的任何一个比另一个快吗?
谢谢你的回答!
马克斯
Ric*_*haw 16
测量它是关键!
访问http://jsperf.com/substr-or-charat自己进行基准测试.
substr(0,1)在我的机器上以每秒21,100,301次运算运行,charAt(0)每秒运行550,852,974次.
我怀疑charAt在内部访问字符串作为数组,而不是拆分字符串.
如注释中所示,使用string [0]直接访问char比使用charAt(0)稍快一些.
除非您的整个脚本都基于执行快速字符串操作的需求,否则我完全不会担心性能方面的问题。我会charAt()
基于它的可读性以及该语言提供的最具体的工具来使用它。同样,substr()
它也不是严格的标准,尽管任何新的ECMAScript实现都不太可能忽略它,但它可能发生。基于标准的替代品str.charAt(0)
是str.substring(0, 1)
和str.slice(0, 1)
,和ECMAScript的5实现,str[0]
。
归档时间: |
|
查看次数: |
10060 次 |
最近记录: |