我正在学习JS。我刚学会了++运算符。我记得从ruby我可以在那里添加一个变量并且它工作正常,但最终我遇到了一个问题。
例如:
var num = 1;
var num2 = 3;
var newNum = num2+num;
如果我是console.log' newNum'我得到4.如果我将操作员切换到这样:
var newNum = +num2num;
它不起作用。节点吓坏了我!
所以当我想改变“数字”时变量我必须改变事物的顺序。
例如:
var newNum = num+num2;
现在正在运作,而在此之前没有。
我的问题是:有更好的方法吗?还是一个更一致的方法?如果不是那么好,我每次都会翻转它们。我只是想知道。
谢谢!
答案 0 :(得分:4)
+
是中缀运算符。这意味着,您将置于之间。添加可交换,这意味着a + b
等于b + a
,其他条件相同。
+
也可用作(一元)前缀运算符,这意味着您将其放在一个操作数之前。
++
是一个完全不同的运算符,“increment”运算符,有前缀和后缀两种类型。
还有附加赋值运算符 +=
,它在左侧增加一个变量,在右侧增加一个值。也许这就是你要找的东西?
num += num2;
阅读文档。 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators或https://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。