【发布时间】:2018-08-05 21:19:53
【问题描述】:
为什么(1).constructor 返回ƒ Number() { [native code] },而1.constructor 返回Uncaught SyntaxError: Invalid or unexpected token?
两者之间有什么区别以及幕后究竟发生了什么?
【问题讨论】:
-
(1) 创建一个计算结果为数字的表达式。希望这次我做对了。
-
解析器是贪婪的,它从输入中获取尽可能多的信息,而它解析的表达式仍然是正确的。当它解析
1.constructor时,1.是一个有效的浮点数,后跟constructor,这违反了语法规则。另一方面,(1)是一个表达式,在括号之间包含数字1,.不再被解释为小数点。
标签: javascript object constructor numbers prototype