如果obj.valueof()没有override,Number(obj)是否会进入死循环?

看JS红皮书,对Number(obj)的描述是:
先调用obj.valueOf(), 如果obj.valueOf()属于任一基本类型,就再根据规则转换。 如果obj.valueOf()的结果是NaN,就会调用obj.toString()方法

同时obj.valueof()有描述:
语法:obj.valueOf() // 这里的obj是任意对象,不单指 Object 
作用:将对象 obj 转化为原始类型的值,这个方法通常需要重写(override)。
自定义对象在未重写 valueOf() 的情况下,valueOf() 会返回对象自身。

如果obj.valueof()没有被override,那么就会返回自身。

疑问:Number(objNotOverrideValueOf)会进入死循环?


慕慕森
浏览 312回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript