【发布时间】:2013-02-17 07:04:18
【问题描述】:
我有这个代码:
var boo = 123123;
我想将该数字转换为字符串,并且 conact string 比原生 JavaScript .toString() 更快:
更快:
var foo = boo + "";
更慢:
var foo = boo.toString();
jsPerf:http://jsperf.com/concat-string-vs-tostring
为什么 .toString() 比连接空字符慢?最后我想知道使用+ "" 技术而不是.toString() 的正确方法是什么?
【问题讨论】:
-
我希望必须查找 Number 原型的函数调用的开销比 plus 运算符的内置字符串连接重载要慢。
-
是的,它是完全有效的,尽管您应该考虑可读性比脚本执行时间中的微秒更重要。
-
@FabrícioMatté AFAIK 所有的 Java 程序员都使用
boo + ""!你认为它不是人类可读的吗? -
@Afshin,你能一眼看出这是转换为字符串吗?
-
基准测试结果可能会由于某些运行时优化技术而失真,因为重复操作总是产生相同的结果。您可能想改用this benchmark。
标签: javascript performance algorithm optimization