请有人向我解释为什么我的addOne函数不能使用增量运算符(++)。请参阅下面的代码。
_
答案 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);