事实是,当他们尝试将原语称为对象时,它将自己包装在其函数中 - 一个包装器,结果接收到一个对象,它将从中调用属性或方法,但我不明白为什么它是这样工作的:
"12".valueOf();
"12"
12.valueOf();
VM1160:1 Uncaught SyntaxError: Invalid or unexpected token
(12).valueOf();
12
12..valueOf();
12
我不明白为什么 ( 12.valueOf(); ) 示例不起作用,为什么 ( 12..valueOf(); ) 起作用。
数字中紧跟数字的点被视为小数点,而不是属性访问。为避免这种情况,您可以使用空格: https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Property_Accessors#Dot_notation