将数字转换为字符串的“最佳”方法是什么(在速度优势、清晰度优势、内存优势等方面)?
一些例子:
String(n)
n.toString()
""+n
n+""
像这样:
var foo = 45; var bar = '' + foo;
实际上,即使我通常这样做是为了简单方便,但经过 1,000 次以上的迭代, 对于原始速度来说,这似乎是一个优势.toString()
.toString()
在这里查看性能测试(不是我,而是我自己写的时候发现的):http: //jsben.ch/#/ghQYR
根据上面的 JSPerf 测试最快:str = num.toString();
str = num.toString();
应该注意的是,当您考虑到它可以 在 0.1 秒内以任何方式进行 100 万次 转换时,速度上的差异并不太显着。
更新: 速度似乎因浏览器而异。根据这个测试,在 Chromenum + ''中似乎是最快的http://jsben.ch/#/ghQYR
num + ''
更新 2: 再次基于我上面的测试,应该注意 Firefox 20.0.1 的执行.toString()速度比'' + num示例慢大约 100 倍。
'' + num