在JavaScript中将数字转换为字符串的最佳方法是什么?

将数字转换为字符串的“最佳”方法是什么(在速度优势,清晰度优势,内存优势等方面)?

一些例子:

  1. String(n)

  2. n.toString()

  3. ""+n

  4. n+""


答案 1

喜欢这个:

var foo = 45;
var bar = '' + foo;

实际上,即使我通常这样做只是为了简单方便,但超过1,000次迭代,它似乎对于原始速度有优势.toString()

请参阅此处的性能测试(不是由我进行的,而是在我编写自己的测试时发现的):http://jsben.ch/#/ghQYR

基于上面的JSPerf测试的最快:str = num.toString();

应该注意的是,当您认为它可以在0.1秒内以任何方式进行100万次转换时,速度的差异并不过分明显。

更新:速度似乎因浏览器而异。在Chrome中,基于此测试似乎最快 http://jsben.ch/#/ghQYRnum + ''

更新 2:同样,根据我上面的测试,应该注意的是,Firefox 20.0.1的执行速度比样本慢100倍。.toString()'' + num


答案 2

在我看来,它的清晰度是获奖的,我不认为它会带来任何额外的开销。n.toString()