这是一个有趣的问题,事实上,10..toString() 和 10.toString() 演示的两种方法是不同的。
在 JavaScript 中,要调用对象的方法,我们通常使用点符号将对象与方法名称连接,例如 object.method()。然而,数字直接量(例如 10)之后的点符号(".") 会被 JavaScript 解释为带有小数的数字,因此解释器会尝试将其解析为一个数字,而不是一个对象,因此会出现语法错误。
为了避免这种问题,我们可以在点操作符之间插入一个空格,这样就可以正常地调用数字对象的方法了。例如,10 .toString()。
另一种解决方法是在数字之后添加另一个点号。第二个点号表示我们正在访问一个属性,所以 JavaScript 不会将第一个点号后的数字解释为一个浮点数。例如,10..toString()。
下面是两个示例说明:
// 示例1
// 以下代码会抛出一个语法错误
// 因为解释器将第一个点后面的数字解释为一个浮点数而不是 10 对象
console.log(10.toString());
// 此时,我们可以在数字后面添加一个点,
// 或者在两个点之间添加空格来调用 toString() 方法
console.log(10..toString());
console.log(10 .toString());
// 示例2
// 下面的代码可以正常运行,
// 因为最后一个点号后面有一个空格,
// 表示我们正在调用数字对象的方法
console.log(100.123.toString());
// 但当我们把 toString() 方法放在小括号中,这时,有没有空格都是可以的
console.log((100.123).toString());
综上所述,在 JavaScript 中,10..toString() 可以正常工作,而 10.toString() 会抛出语法错误,因为第一个点后面的数字会被解释为一个浮点数。为了解决这个问题,我们可以在数字后面添加一个额外的点号或者在点号和数字之间添加一个空格来调用数字对象的方法。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript使用中为什么10..toString()正常而10.toString()出错呢 - Python技术站