在javascript中对数字调用构造函数

在javascript中对数字调用构造函数,javascript,Javascript,我一直在努力研究javascript原型继承,在阅读John Resig的书“Pro javascript技术”时,我尝试了以下内容: alert("me".constructor); //Correctly return String alert(alert.constructor); //Correctly return Function alert((55).constructor); 但是, alert(55.constructor);//I was expecting Number

我一直在努力研究javascript原型继承,在阅读John Resig的书“Pro javascript技术”时,我尝试了以下内容:

alert("me".constructor); //Correctly return String
alert(alert.constructor); //Correctly return Function
alert((55).constructor);
但是,

alert(55.constructor);//I was expecting Number, but it returns error "SyntaxError: identifier starts immediately after numeric literal" in FF and in IE, it says it is expecting ")"
我还尝试了其他应该对数字起作用的函数,比如
toFixed()
toPrecision()
甚至
toString()
,但都不起作用

有人能解释一下这种行为吗?

()
放在数字周围,如下所示:

alert("me".constructor); //Correctly return String
alert(alert.constructor); //Correctly return Function
alert((55).constructor);

摘自评论:


解析器需要一个十进制数,但失败了,因为它看到的是字母“c”。或者,
55..constructor
也可以工作(因为
55.
只是
55.0
55
)。

是的,解析器需要一个十进制数,但由于看到字母
c
而失败。或者,
55..constructor
也可以工作(因为
55.
只是
55.0
55
)。你也可以做
55.0。constructor
:-PNice,不知道55。。还有55.0。谢谢大家!我认为解析器和Ruby的
55一样聪明