当前位置: 首页 > 知识库问答 >
问题:

为什么最后的加值是100?[副本]

邓德本
2023-03-14

当我在javascript中使用运算符时,为什么最后得到的值是100而不是101?我想知道javascript中运算符的详细信息?

let value = 100;
value = value++;
console.log(value); // 100 why the value is 100 at last

共有2个答案

傅俊德
2023-03-14

因为当使用赋值运算符时,首先计算右侧操作数,然后将该值赋值给左侧的接收器。¹

下面是value=value中发生的情况:

  1. 读取value100)的值,并将其放在一边(因为我们将在一分钟内需要它)。
  2. value的值增加1(使其为101)。
  3. 将#1(100)中的值作为右侧操作数的结果值。
  4. 将该值存储value中。

在规格方面,它比这稍微复杂一些,但这里的细节并不重要。

柴亦
2023-03-14

那是因为<代码>

 类似资料:
  • 问题内容: 我正在尝试扩展一些以填充屏幕,但是我很挣扎。我已经解决了这个jsfiddle的问题。 我真正想知道的是,当其父项具有相同的属性并且会扩展时,为什么100%的不会扩展到那个高度(或根本不扩展)? 问题答案: CSS 2.1规范涵盖了该问题: < 百分比> 指定百分比高度。相对于生成的盒子的包含块的高度计算百分比。如果未明确指定包含块的高度(即,它取决于内容的高度),并且该元素的位置不是绝

  • 有人可以帮我理解吗 此语句是否正确:这意味着bcdc是Baseclass类类型,其值是Dervedclass对象类型?此外,这是什么意思,为什么一个对象会这样实例化,而不是让类类型与正在实例化的新对象相同,如? 为什么

  • 我在中使用,我在测试的应用程序中有很多框架。 以下是我切换帧的代码: 与它的工作原理如下: 但是在firefox中,我需要添加

  • 我希望以下Java代码将字符串拆分为三个项: 然而,我只得到两件。 我必须承认,我并没有深入分析这一点,但对我来说,这似乎违反直觉。Python和C#都在Python中生成三项,如下所示: 在C#中: 我错过了什么? 这是Java 1.8.0\u 101。

  • 我正在向一个ArrayList中添加三个不同的对象,但该列表包含我添加的最后一个对象的三个副本。 例如: 预期: 实际: 我犯了什么错误? 注意:这是针对本网站上出现的众多类似问题而设计的一个规范问答。