我对+=符号有点困惑。它是如何工作的?
1 += 2
// 等于什么?还有这个
var data = [1,2,3,4,5]; var sum = 0; data.forEach(function(value) { sum += value; }); sum = ?
我对+=符号有点困惑。它是如何工作的?
1 += 2
// 等于什么?
还有这个
var data = [1,2,3,4,5];
var sum = 0;
data.forEach(function(value) {
sum += value;
});
sum = ?
x+=y
在许多编程语言中是 set x to x + y
的简写。如其名称所示,data
中的数字之和将会是这个简写表达式的结果。
x += 1
只是 x = x + 1
的简写形式。它也可以用于字符串:
var string = "foo"
string += "bar"
NO 1+=2!=2
的意思是你要加上 1+2
。
但这会导致语法错误。
假设一个变量是 int 类型,如 int a=1
;
那么
a+=2
; 意味着 a=1+2
; 并将 a 的值从 1 增加到 3。
1 += 2
不会抛出错误,但你仍然不应该这样做。在这个语句中,你基本上是在说“将1设置为1 + 2”,但1是一个常数,而不是类型为:number
或:string
的变量,所以它可能什么也不做。说
var myVariable = 1
myVariable += 2
console.log(myVariable)
会将3
记录到控制台,因为x += y
只是x = x + y
的简写。var data = [1,2,3,4,5]
var sum
data.forEach(function(value){
sum += value
})
会使sum
= 15,因为:
sum += 1 //sum = 1
sum += 2 //sum = 3
sum += 3 //sum = 6
sum += 4 //sum = 10
sum += 5 //sum = 15
1 += 2
后,1 的值变为了3。这并不是什么大问题。但是1 -= 1;
会让布尔表达式变得非常麻烦! - SF.