更新时间:2024-11-11 10:33:24点击:
大家好,今天小编关注到一个比较有意思的话题,就是关于j*ascript方***重写的问题,于是小编就整理了1个相关介绍j*ascript方***重写的解答,让我们一起看看吧。
在对象到数字的转换过程中,它会首先尝试valueOf()方***:
如果对象具有valueOf()方***,后者返回一个原始值,则J*aScript将这个原始值转换为数字(如果需要的话)并返回这个数字。
否则,如果对象具有toString()方***,后者返回一个原始值,则j*aScript将其转换并返回
否则,J*aScript抛出一个类型错误异常。
对西那个转换为数字的细节解释了为什么空数组会转换为数字0以及为什么具有单个元素的数组同样会转换成一个数字。数组继承了默认的valueOf()方***,这个方***返回一个
对象
而不是一个原始值,因此数组到数字的转换则调用toString()方***。空数组转换成空字符,空字符串转换成数字0。从上面《J*aScript权威指南》中的解释可以看出,因为obj3重写了对象toString的方***,其中返回了一个数组(对象),而不是原始值,所以这时候无论与2或者字符串比较都会报错。
到此,以上就是小编对于j*ascript方***重写的问题就介绍到这了,希望介绍关于j*ascript方***重写的1点解答对大家有用。
[免责声明]本文来源于网络,不代表本站立场,如转载内容涉及版权等问题,请联系邮箱:83115484#qq.com,#换成@即可,我们会予以删除相关文章,保证您的权利。 转载请注明出处:http://www.zzbaijie.cn/junshixinwen/43093.html