1

我是说,

我应该使用这个干净的代码...

var rounded=num.toFixed(n);

...而不是这个丑陋的代码...

var pow10=Math.pow(10,n),
    rounded=''+Math.round(num*pow10)/pow10;

即使第二个更快?(http://jsperf.com/round-numbers-number-decimals/2

为什么第一个这么慢?浏览器不能为第一个代码实现第二个代码吗?

4

1 回答 1

1

除非你有一个特定的用例需要大量迭代的速度,否则我会坚持使用,.toFixed()因为它简单易读,易于理解你在做什么。但是,如果您必须优化速度,至少您知道从哪里开始!

于 2012-12-25T00:48:35.147 回答