Douglas说过,在Javascript中除了number, string, booleans和underfined && null,其他的都是对象。
但是number, string也有一条“隐秘链接”(proto)指向Object,这样我们理应可以在这个类型上调用JS内置方法:
2.toString(); //SyntaxError
var num = 2;
console.log(num.toString()); //String
这是JS解释器原理方面的问题吗?
感谢任何有价值的回答!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
.
可以是对象属性操作符,也可以是小数点。解释器没有足够聪明的区分二者。
以
2.toString()
为例,当解析到2.
时解析器直接认为这是浮点数,紧接着.t
导致浮点数语法错误,你可以hacking过去。2.toString(), JS 解析器会认为 这个点是小数点,你可以这么写 2..toString() 或者(2).toString()