gpt4 book ai didi

javascript - valueOf 函数设置为始终返回相同的值

转载 作者:行者123 更新时间:2023-11-28 18:18:13 26 4
gpt4 key购买 nike

这个:

% node
> var o = {valueOf: function() { return 5; } };
undefined
> o += 1;
6
> o
6
> o += 1;
7
> o
7

如果 valueOf 始终返回 5,为什么 o 值会递增?

最佳答案

从问题中看到的 o 引用对象的情况开始:

var o = {valueOf: function() { return 5; } };

然后在表达式中

o += 1;

发生的事情是:

  1. 通过调用 .valueOf() 以数字形式获取 o 的值
  2. 将该值添加到 1 中,得到 6
  3. 该结果被分配给变量o

因此,曾经包含对象引用的变量 o 现在包含一个数字。

关于javascript - valueOf 函数设置为始终返回相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40438491/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com