美文网首页
js运算符优先级

js运算符优先级

作者: 一位有礼貌的先生 | 来源:发表于2018-01-29 10:44 被阅读0次
    • 因不同语言,优先级不同,因此不必强行记忆,遇到不确定的,可以加圆括号提升优先级,但是如果有人拿此出题,就让人无奈了。呵呵哒。
    • 以下为简单案例,写代码尽量避免下面的这些写法。
    var i = '1';
    typeof i++; // number - typeof的优先级低于++
    typeof i + 1; // number1 - typeof的优先级高于+(二元运算符+号)
    typeof i * 2; // NaN - typeof的优先级高于*
    typeof +false; // number - typeof的优先级低于+(一元运算符+号)
    1++'2'; // 报错,语法有误
    1+ +'2'; // 3 (二元运算符+号)的优先级小于(一元运算符+号)
    
    • ++ --的优先级高于 typeof
    • typeof的优先级高于* / % + -
    • ?:(唯一的三元运算符),优先级偏低,

    以下排序从高到低(常用)

    • ()
    • . []
    • ++ -- 后置
    • ! ~ + - 一元运算符
    • ++ -- 前置
    • typeof
    • * / %
    • + - 二元运算符
    • < <= > >= in instanceof
    • == != === !==
    • && || ?:
    • = += -= *= /= %=
    • ,

    以下是官方文档的优先级详细汇总

    https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Operators/Operator_Precedence

    相关文章

      网友评论

          本文标题:js运算符优先级

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