javascript:自增++/自减--运算符的小问题?

MDN-运算符优先级上,后置自增a++比前置自增++a有更高的优先级,这是什么原因?

例如:

var a = 1;

var b = ++a;

//=> b = 2;

那么:

var a = 1;

var b = a++;

//=> b = 1;

表面看起来是++a优先级高于=,而a--优先级低于=。这是什么原因呢?


慕尼黑5688855
浏览 572回答 5
5回答

MYYA

递增 (++)递增运算符为其操作数增加1,返回一个数值。如果后置(postfix)使用,即运算符位于操作数的后面(如 x++),那么将会在递增前返回数值。如果前置(prefix)使用,即运算符位于操作数的前面(如 ++x),那么将会在递增后返回数值。

qq_花开花谢_0

其实关注这些没有特别的意义,如果不确定,就加括号,而++只在单目中使用,而不要用太多奇技淫巧。

牧羊人nacy

其他人说的都不对a+++b会被识别为(a++)+b而不是a+(++b)后置自增比前置自增有更高的优先级,是表现在这里的
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript