100['toString'] //does not fail
100.toString //fails为什么?
100.toString与100.toString()不同。那么,为什么在第二种情况下,我没有得到函数作为返回值呢?
发布于 2010-03-12 06:13:43
第二行失败,因为它被解析为数字"100.",后跟"toString“。
要使用点表示法,请执行以下任一操作:
(100).toString
100.0.toString
100..toString
var a = 100;
a.toString如果您正在尝试调用toString函数,则还需要包括括号:
(100).toString()
100.0.toString()
100..toString()
var a = 100;
a.toString()我更喜欢使用圆括号(或者变量,如果我已经有一个变量),因为替代方案可能会令人困惑和不直观。
发布于 2010-03-12 06:12:58
请改用(100).toString。
发布于 2010-03-12 06:19:20
Parens是最好的方法。对于函数定义,您也会遇到同样的问题。
function () {}.call() => fails
(function () {}).call() => succeedshttps://stackoverflow.com/questions/2429055
复制相似问题