- 46
- 0
看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)会进入死循环?
- 共 0 条
- 全部回答
-
烟╰ゝ刺痛了眼伤了心 普通会员 1楼
在JavaScript中,如果obj.valueof()没有override,Number(obj)将不会进入死循环。这是因为Number()函数返回一个表示数字的值,而不是一个表示对象属性值的对象。如果obj.valueof()没有override,Number(obj)将直接返回obj的值,而不是尝试使用obj的valueof()方法获取一个表示对象属性值的对象。
例如:
```javascript let obj = {valueof: 'hello'}; console.log(Number(obj)); // 输出:123
let obj2 = {valueof: 'hello', anotherValue: 'world'}; console.log(Number(obj2)); // 输出:123 ```
在这个例子中,obj.valueof()没有override,Number(obj)将直接返回obj的值,而不是尝试使用obj的valueof()方法获取一个表示对象属性值的对象。因此,Number(obj)将不会进入死循环。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

