美文网首页
运算符的优先级与结合性

运算符的优先级与结合性

作者: zooeydotmango | 来源:发表于2019-08-20 00:03 被阅读0次

左结合与右结合

有的运算符是左结合的,即运算从左到右执行,如

w = x + y + z;
w = (x + y) + z;    //与上行等同

有的运算符是右结合的

w = x = y = z;
w = (x = (y = z));     //与上行等同
w = a: b: c ? d : e? f : g;
w = a? b : (c? d: (e? f : g));     //与上行等同

常遇到的优先级

  • 算术运算符>关系运算符>逻辑运算符>赋值运算符

  • typeof的优先级相当的高,比加减乘除神马的都高,所以虽然是操作符,在在复杂表达式的时候我们还是习惯加括号,看个例子

 typeof 2*3;//NaN
 typeof (2*3);//"number"
 typeof 2+3;// "number3"
  • ++--是右结合的操作符(优先级最高的几个都是右结合),而且比加减乘除优先级高。同时自增、自减运算符的运算数得是左值(可以放在赋值符号左边的值),而不能是常数
 4++; //ReferenceError: Invalid left-hand side expression in postfix operation
 var a=0,b=0;
 a+++b;//0
 a;//1,++优先级比+高,所以相当于(a++)+b
 b;//0
  • 赋值运算符的优先级相当的低
 a = b == c; //等同于a = (b==c)
  • 逻辑非!也在优先级队列的前端,比加减乘除高,但逻辑与、逻辑或优先级很低,不如加减乘除
 !2*0; //0, 等价于(!2)*0
  • 断路与 和 短路或
 1 && 3;
 1 && "foo" || 0;
 1 || "foo" && 0

参考

运算符的优先级

相关文章

  • C运算符的优先级与结合性

    C语言运算符优先级与结合性:同一优先级的运算符,运算次序由结合方向所决定。 c语言运算符优先级存在的问题(按照常规...

  • 运算符优先级和结合性

    运算符优先级和结合性 运算符的优先级使得一些运算符优于其他运算符,高优先级的运算符会被先计算。 结合性定义了具有相...

  • 03-JS基础-运算符

    运算符的优先级 运算符的结合性JavaScript中各运算符的结合性分为两种,即左结合性(自左至右)和右结合性(自...

  • C语言运算符

    运算符的优先级和结合性 运算符的种类 算数运算符有+ - * / % (具有左结合性) 算数运算符注意事项...

  • js运算符优先级

    优先级 运算符的优先级决定了表达式中运算执行的先后顺序,优先级高的运算符最先被执行 结合性 结合性决定了拥有相同优...

  • 04-运算符

    算数运算符 1.什么是算数运算符?- + - * / % 2.算数运算符的优先级和结合性* / % 优先级要高...

  • 运算符的优先级与结合性

    左结合与右结合 有的运算符是左结合的,即运算从左到右执行,如 有的运算符是右结合的 常遇到的优先级 算术运算符>关...

  • Bash 的算术运算符

    Bash 中的算术运算符以及它们的优先级、结合性和值都与 C 语言相同。下面是按照优先级从高到低排列的运算符。 本...

  • C运算符优先级

    优先级记忆参考表 (防遗忘、防原网址失效) 下表列出 C 运算符的优先级和结合性。运算符从顶到底以降序列出。 --...

  • C语言运算符

    赋值运算注意点: 1.赋值运算的结合性:右结合性 2.赋值运算的优先级低于算数运算符int res = 10;re...

网友评论

      本文标题:运算符的优先级与结合性

      本文链接:https://www.haomeiwen.com/subject/cvvysctx.html