为何JavaScript中Math.round被传入两个参数?
Math.round第二个参数的含义解析 原生JavaScript的Math.round()函数仅接受一个参数,你看到的代码里的第二个参数10不会被函数处理,完全没有作用,会直接被忽略。
出现这种写法的常见原因是开发者混淆了其他函数的用法:
- 比如把它和
Number.toFixed(10)搞混了,后者是用来保留10位小数的,但返回结果是字符串类型; - 或是误把某些第三方库/自定义工具函数的带精度round方法,套用到了原生
Math.round上——不少工具库会实现支持指定精度的四舍五入逻辑,但原生Math.round并不具备这个能力。
如果实际需求是把数值四舍五入到10的倍数(比如123→120、126→130),正确的写法应该是:
Math.round(timeEngine.timeLeft / 10) * 10
内容的提问来源于stack exchange,提问作者Maor
相关产品推荐
相关产品推荐

