JS中的++运算符。为什么在使用变量和' +'?时必须切换它?

时间:2015-05-13 16:41:33

标签: javascript node.js

我正在学习JS。我刚学会了++运算符。我记得从ruby我可以在那里添加一个变量并且它工作正常,但最终我遇到了一个问题。

例如:

var num = 1;
var num2 = 3;

var newNum = num2+num;

如果我是console.log' newNum'我得到4.如果我将操作员切换到这样:

var newNum = +num2num;

它不起作用。节点吓坏了我!

所以当我想改变“数字”时变量我必须改变事物的顺序。

例如:

var newNum = num+num2;

现在正在运作,而在此之前没有。

我的问题是:有更好的方法吗?还是一个更一致的方法?如果不是那么好,我每次都会翻转它们。我只是想知道。

谢谢!

5 个答案:

答案 0 :(得分:4)

+中缀运算符。这意味着,您将置于之间。添加可交换,这意味着a + b等于b + a,其他条件相同。

+也可用作(一元)前缀运算符,这意味着您将其放在一个操作数之前。

++是一个完全不同的运算符,“increment”运算符,有前缀和后缀两种类型。

还有附加赋值运算符 +=,它在左侧增加一个变量,在右侧增加一个值。也许这就是你要找的东西?

num += num2;

阅读文档。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operatorshttps://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Assignment_Operators

答案 1 :(得分:1)

执行操作时,Javascript不支持波兰表示法。

答案 2 :(得分:0)

Javascript对任何二元运算符使用中缀表示法。加号必须位于表达式的操作数之间。

答案 3 :(得分:0)

  

如果我是console.log'newNum',我会得到4.如果我将操作员切换到这样:

    var newNum = +num2num;

那是因为变量num2num不存在,因此无法进行评估。

至于您的原始问题,我认为您指的是JavaScript中不支持的波兰语符号,它们在Python中受支持。

在JavaScript中,++是运算符的前缀/后缀。

++用于增量。

答案 4 :(得分:0)

我认为你的问题是你误解了+和++运算符的作用。

var newNum = num2+num;

此行有效,因为您只需添加2个数字。如您所见,+运算符用于中缀表示法,其中运算符位于2个操作数之间。

var newNum = + num2 num;

此行的表示法称为后缀表示法。鉴于Javascript不支持它,您可以看到它抛出错误的原因。它正在寻找+之前的操作数和num2之后的另一个操作数。

你提到了++运算符。正如torazaburo所说,它的作用是它是一个带有post和prefix版本的增量运算符,但它不需要2个操作数。例如:

num = 7;
console.log(num++)

上面的代码将打印出7,然后将num增加到8。

num = 7;
console.log(++num)

上面的代码将首先增加num,然后打印增加的num,8。