为什么10.toFixed()会报错,以及如何解决?

4 min read

在 JavaScript 中,如果一个数字直接调用 toFixed() 方法,它会被作为 Number 对象处理。但是,当你尝试在 Number 对象上调用 toFixed() 方法时,就会报错。

所以,要在数字上调用 toFixed() 方法,你需要将该数字包装在 Number 对象中:

var num = 10;
num.toFixed(10); // 返回"10.0000000000"

或者,你可以直接将数字转换为字符串,然后在其上调用 toFixed() 方法:

var num = 10;
num.toString().toFixed(10); // 返回"10.0000000000"

如果你直接在数字上调用 toFixed() 方法,将会得到一个错误,如下所示:

10.toFixed(10); // 报错:"Uncaught SyntaxError: Invalid or unexpected token"

这是因为 JavaScript 解释器不知道该在哪里结束整数部分,并且在调用 toFixed() 方法之前会尝试解析小数部分。