问题标签 [compound-assignment]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1287 浏览

c++ - *p++ += 2 定义明确吗?

我不确定下面的语句是否由标准 C 定义好

或其他类似声明:

从标准 C 关于后增量:

后缀 ++ 运算符的结果是操作数的值。得到结果后,操作数的值递增。(也就是说,将相应类型的值 1 添加到其中。)有关约束、类型和转换以及操作对指针的影响的信息,请参阅加法运算符和复合赋值的讨论。更新操作数存储值的副作用应发生在前一个序列点和下一个序列点之间。

关于复数赋值:

E1 op= E2 形式的复合赋值与简单赋值表达式 E1 = E1 op (E2) 的不同之处仅在于左值 E1 仅计算一次。

0 投票
8 回答
6468 浏览

javascript - 使用 += 赋值在 javascript 中给出 NaN

使用运算符为属性分配一个数字+=给我NaN在 JavaScript 中。

此代码按预期工作:

但在这里我们得到NaN

为什么 JavaScript 会有这样的行为?我怎样才能在不初始化的情况下让它工作result['value'] = 0

0 投票
0 回答
267 浏览

javascript - 选中单选按钮后 JavaScript 运行计算

JavaScript 新手,无法理解这个练习:需要修改 JavaScript,以便它提供选项按钮。当用户选择年利率按钮时,应用程序应复合年利率,当用户单击每月按钮时,应用程序应复合月利率。

我还需要在文本框中显示月度和年度复合计算的结果

这是JavaScript

0 投票
1 回答
293 浏览

c++ - 赋值运算符中的序列点

让我们以特定的复合赋值运算符为例^=这个stackoverflow页面说在评估之后可能没有对左操作数进行修改,^=从而使代码a ^= b ^= a ^= b未定义行为。但情况似乎并非如此。该标准在 5.17 [expr.ass] 中说

在所有情况下,赋值都在左右操作数的值计算之后和赋值表达式的值计算之前进行排序。

这个声明有两个关键点。1) 题目的是什么?在我看来,它只是指对左操作数的修改。2)赋值表达式的值计算指的是什么?cppreference说它是指返回对修改对象的引用(强调我的)。

作为结论,左操作数应该在 的评估之后已经被修改^=,这与(大多数)人们的想法相矛盾。我在这里错过了什么吗?

0 投票
1 回答
111 浏览

c++ - C:使用错误:“复合赋值”和“前缀减量”一起使用

有人可以告诉我为什么编译器在使用 a和 a时C会输出错误吗?[但没有]Compound AssignmentPrefix Dec/IncC++

我知道错误说什么......

但是,我不明白为什么C编译器不能识别myVar为左值C++可以?!

0 投票
1 回答
17 浏览

types - 像“string& operator+= (const string& str)”这样的函数的参数类型是不是令人困惑?(参考常量)

当我们查看函数原型时,我们假设传递给函数的字符串不会改变,对吧?

但是,请考虑以下情况:

实际上,字符串“str”已更改。这样的场景是不是很奇怪?

将原型更改为更好吗?

我已经搜索了很多这样的来源和例子,但对大多数人来说似乎很正常。没有人问这个问题,或者可能是我没有找到。(对不起,如果这是我的问题,对于非母语人士来说很难找到合适的关键字)

0 投票
1 回答
545 浏览

c++ - 如何在 C++ 中重载复合赋值?

点.h

主文件

输出:

我想返回总和:

但是在复合赋值时,编译器会保留双精度类型。

0 投票
1 回答
3676 浏览

javascript - 复合 let/const 赋值是什么意思?

Bluebird 库的 wiki 中有一篇文章优化杀手。在这篇文章中有一句话:

当前不可优化:
...
包含复合 let 赋值
的函数 包含复合 const 赋值的函数

复合 let 赋值和复合 const 赋值是什么意思?在 ECMAScript 5.1 中有复合赋值的概念,但在 ECMAScript 2015 中,似乎没有任何复合赋值的概念,只有常规赋值。

我怀疑复合 let 和 const 赋值,它只是声明后的复合赋值。例如:

我对吗?

0 投票
1 回答
56 浏览

c - 为什么在显示后一个“tot”时不考虑复合赋值?

0 投票
1 回答
120 浏览

c++ - c++ 运算符的存在

大家好,我需要一些帮助来了解这些复合赋值运算符的工作原理

x 结果是-60 有人可以解释为什么以及如何工作吗?