为什么我的Javascript增量运算符(++)在我的addOne函数中无法正常工作

时间:2016-09-26 15:13:02

标签: javascript increment

请有人向我解释为什么我的addOne函数不能使用增量运算符(++)。请参阅下面的代码。

_

3 个答案:

答案 0 :(得分:3)

有两个增量运算符:prefix和postfix。

后缀运算符在进行求值后递增变量。例如,以下代码生成11,因为它添加了5和6:

var a = 5;
(a++) + (a++)

前缀运算符在评估之前递增变量。听起来就像你想要的那样。以下代码生成13,因为它添加了6和7:

var a = 5;
(++a) + (++a)

所以你的代码应该是:

function addOne(num) {
  return ++num;
}

console.log(addOne(6));

答案 1 :(得分:0)

num + 1在计算当前表达式之前递增数字,因此log将是递增后的数字,但num ++会在计算表达式后递增该数字,因此log将在递增之前记录num,然后递增它。

如果您想使用与num + 1相同的功能,您可以使用++ num,它也会这样做。

  

他们都增加了数字。 ++ i相当于i = i + 1。

     

i ++和++我非常相似但不完全相同。两者都增加   数字,但++ i增加当前的数字   表达式被评估,而i ++增加了之后的数字   表达式被评估。   See this question

答案 2 :(得分:0)

这不是正确使用++,但也有很多人不建议使用++。 ++变量变量并返回其先前的值。试试下面的例子。

var two = 2;
var three = two += 1;
alert(two + ' ' + three);

two = 2;
three = two++;
alert(two + ' ' +  three);

two = 2;
three = two + 1;
alert(two + ' ' +  three);