天天看点

Javascript 中关于对象转换数字值的一些特点

下面是摘至<code>&lt;javascript 高级程序设计第三版&gt;</code>里的一段话

是关于对象转换数字值的一些规则

<code>"在应用于对象时,先调用对象的valueof()方法以取得一个可供操作的值。然后对该值应用前述规则。如果结果是nan,则在调用tostring()方法后再应用前述规则...."</code>

通过上面的描述,我们知道,当需要把对象转换成数字值时,先调用<code>valueof</code>方法,假如返回nan,则再调用对象的<code>tostring</code>方法。

所以写了下面的测试代码.

经测试发现,当valueof和tostring方法同时存在的时候,只会按valueof的返回值来转换数字值,哪怕tostring方法可以返回数字,结果也是nan.

测试的浏览器信息为

不知道这是不是chrome的一个改进,还是什么,特记录下来,方便给别人参考。

继续阅读