猿问

在Javascript中,为什么字符和数字类型没有属性/方法?

Douglas说过,在Javascript中除了number,string,booleans和underfined&&null,其他的都是对象。
但是number,string也有一条“隐秘链接”(proto)指向Object,这样我们理应可以在这个类型上调用JS内置方法:
2.toString();//SyntaxError
varnum=2;
console.log(num.toString());//String
这是JS解释器原理方面的问题吗?
感谢任何有价值的回答!
尚方宝剑之说
浏览 441回答 2
2回答

慕神8447489

.可以是对象属性操作符,也可以是小数点。解释器没有足够聪明的区分二者。以2.toString()为例,当解析到2.时解析器直接认为这是浮点数,紧接着.t导致浮点数语法错误,你可以hacking过去。2..toString();//小数点后面为空2.0.toString();//小数点后为零(2).toString();//限制范围,这不是小数

慕盖茨4494581

2.toString(),JS解析器会认为这个点是小数点,你可以这么写2..toString()或者(2).toString()
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答