例如,
1.toFixed(2) // Uncaught SyntaxError: Invalid or unexpected token
(1).toFixed(2) // "1.00"
let num = 1
num.toFixed(2) // "1.00"
同时,您不必在字符串周围加上括号即可在其上调用方法
'yo'.repeat(3) // "yoyoyo"
这里的规则是什么?它还适用于哪些地方?猜测是否与将点误解为数字的小数点有关?
答案 0 :(得分:3)
因为解释器正在寻找更多的数字(十进制值),而不是关键字或方法。
答案 1 :(得分:1)
正如其他人所说,JavaScript正在寻找小数点后的更多数字。它认为您正在尝试输入1.2
之类的浮点数,而不是那里的t
,不是数字。
有趣的是,您可以在不使用括号的情况下执行此操作,也可以使用2个小数点来使其可变。像这样:1..toFixed(2)
。我想您也可以根据需要1.0.toFixed(2)
。
答案 2 :(得分:1)
..
。第一个用于小数,第二个用于调用该方法。
let num = 1;
console.log(num.toFixed(2));
// console.log(1.toFixed(2)); // ERROR
console.log((1).toFixed(2));
console.log(1..toFixed(2));