javascript使用中为什么10..toString()正常而10.toString()出错呢
人气:0
这个问题是在著名的问答网站——stackoverflow上看到的。
之前也看到过JavaScript的这个问题,但是没有深入了解,今天在StackOverflow上看到了答案,感觉不错,记下来分享给大家。
问题的描述是这样的:
console.log(10..toString());//10
console.log(10.toString());//SyntaxError: Unexpected token ILLEGAL
为什么前者正常,而后者报错呢。
原因就是,在JavaScript中,数字后面的"."操作符是的意义是不确定。因为它既可能是一个浮点数的标志,又可能是取一个对象的属性的运算符。但是JavaScript的解释器把他当做了浮点数的标志,所以上面的代码和下面的是等价的
console.log((10.).toString());//正常
console.log((10.)toString());//这样的话,当然就报错了(完)^_^
之前也看到过JavaScript的这个问题,但是没有深入了解,今天在StackOverflow上看到了答案,感觉不错,记下来分享给大家。
问题的描述是这样的:
复制代码 代码如下:
console.log(10..toString());//10
console.log(10.toString());//SyntaxError: Unexpected token ILLEGAL
为什么前者正常,而后者报错呢。
原因就是,在JavaScript中,数字后面的"."操作符是的意义是不确定。因为它既可能是一个浮点数的标志,又可能是取一个对象的属性的运算符。但是JavaScript的解释器把他当做了浮点数的标志,所以上面的代码和下面的是等价的
复制代码 代码如下:
console.log((10.).toString());//正常
console.log((10.)toString());//这样的话,当然就报错了(完)^_^
加载全部内容