Javascript ++;JS中的运算符。为什么在使用变量和'+';?

Javascript ++;JS中的运算符。为什么在使用变量和'+';?,javascript,node.js,Javascript,Node.js,我现在正在学习JS。我刚刚学习了++运算符。我记得在ruby中,我可以在其中添加一个变量,它工作得很好,但最终我遇到了一个问题 例如: var num = 1; var num2 = 3; var newNum = num2+num; num = 7; console.log(num++) 如果我输入console.log'newNum',我得到4。如果我将我的操作员调换为这样: var newNum = +num2num; 它不起作用。诺德对我发疯了 因此,当我想要更改'num'变量时

我现在正在学习JS。我刚刚学习了++运算符。我记得在ruby中,我可以在其中添加一个变量,它工作得很好,但最终我遇到了一个问题

例如:

var num = 1;
var num2 = 3;

var newNum = num2+num;
num = 7;
console.log(num++)
如果我输入console.log'newNum',我得到4。如果我将我的操作员调换为这样:

var newNum = +num2num;
它不起作用。诺德对我发疯了

因此,当我想要更改'num'变量时,我必须切换事情的顺序

例:

这是现在的工作,而以前没有

我的问题是:有没有更好的方法?还是更一致的方法?如果不是这样,我每次都会把它们翻过来。我只是想知道


谢谢

+
是一个中缀操作符。也就是说,你把它放在你想添加的东西之间。加法是可交换的,这意味着
a+b
等于
b+a
,其他条件都相同

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

++
是一个完全不同的操作符,“增量”操作符,它有前缀和后缀两种风格

还有一个加法赋值运算符
+=
,它在左侧接受一个要递增的变量,在右侧接受一个要递增的值。也许这就是你要找的

num += num2;

阅读文档,或者。

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

Javascript在执行操作时不支持波兰语表示法

如果我输入console.log'newNum',我得到4。如果我将我的操作员调换为这样:

    var newNum = +num2num;
这是因为变量num2num不存在,因此无法计算

至于您最初的问题,我相信您指的是波兰符号,它们在JavaScript中不受Python支持

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


++
用于增量。

我认为您的问题在于您误解了+和++运算符的作用

var newNum = num2+num;
这一行之所以有效,是因为您只需添加2个数字。如您所见,+运算符用于中缀表示法,其中运算符位于两个操作数之间

var newNum = + num2 num;
这一行的符号称为后缀符号。鉴于Javascript不支持它,您可以看到它抛出错误的原因。它正在查找+之前的一个操作数和num2之后的另一个操作数

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

var num = 1;
var num2 = 3;

var newNum = num2+num;
num = 7;
console.log(num++)
上面的代码将打印出7,然后将num增加到8

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

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

+num2 num不正确。您的问题非常混乱。你想做什么?我也不知道我需要一个空间。谢谢你。我会记住翻转它们。是的,这与++有什么关系?@leonibeschastny我正在试图找出为什么我必须翻转运算符表达式才能使其工作,这取决于它与我试图修改的变量的比较位置。希望这有帮助!我只是想找到一个一致的方式,而不是把订单翻来翻去。嘿,非常感谢!现在我肯定知道了。没有意识到这个问题会适得其反。我真的很好奇……请注意,整个“可交换”的东西并不总是适用于JavaScript([]+{}和{}+[]);)@ChadSchouggins这就是为什么我说“其他一切都是平等的”:-)好的,酷。现在我学到了比预期更多的东西。好极了!谢谢我只是好奇为什么它在某些情况下有效,而在其他情况下无效。这很好地解释了,明白了。那我就得避免那样做了!就这么简单,我就是这么想的。谢谢你把它清理干净。