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

js运算符优先级问题

作者: 东东丶酱 | 来源:发表于2018-01-05 17:29 被阅读0次
运算符很多,优先级也很让人头痛,下面一道例题,一不注意就会搞错

eg:

var dd = "test";
console.log('dd is ' + (dd === "test") ? "test":"other");

输出为test ,加号运算符比三目运算优先级高(等级13加号,条件等级为3),最后其实输出的是“ dd is true ”? "test":"other";很明显非空字符串为真,输出自然为"test".是不是差点掉坑里了~

下面看一下优先级的汇总表吧。

运算符优先级汇总表

注:优先级越高越先执行

优先级 运算类型 关联性 运算符
20 圆括号 n/a ( … )
19 成员访问 从左到右 … . …
需计算的成员访问 从左到右 … [ … ]
new (带参数列表) n/a new … ( … )
函数调用 从左到右 … (…)
18 new (无参数列表) 从右到左 new …
17 后置递增(运算符在后) n/a … ++
后置递减(运算符在后) n/a … --
16 逻辑非 从右到左 ! …
按位非 从右到左 ~ …
一元加法 从右到左 + …
一元减法 从右到左 - …
前置递增 从右到左 ++ …
前置递减 从右到左 -- …
typeof 从右到左 typeof …
void 从右到左 void …
delete 从右到左 delete …
15 从右到左 … ** …
14 乘法 从左到右 … * …
除法 从左到右 … / …
取模 从左到右 … % …
13 加法 从左到右 … + …
减法 从左到右 … - …
12 按位左移 从左到右 … << …
按位右移 从左到右 … >> …
无符号右移 从左到右 … >>> …
11 小于 从左到右 … < …
小于等于 从左到右 … <= …
大于 从左到右 … > …
大于等于 从左到右 … >= …
in 从左到右 … in …
instanceof 从左到右 … instanceof …
10 等号 从左到右 … == …
非等号 从左到右 … != …
全等号 从左到右 … === …
非全等号 从左到右 … !== …
9 按位与 从左到右 … & …
8 按位异或 从左到右 … ^ …
7 按位或 从左到右 … | …
6 逻辑与 从左到右 … && …
5 逻辑或 从左到右 … || …
4 条件运算符 从右到左 … ? … : …
3 赋值 从右到左 … = … , … += … , … -= … , … *= … , … /= …, … %= … , … <<= … , … >>= …, … >>>= … , … &= … , … ^= …, …|= …
2 yield 从右到左 yield …
yield* 从右到左 yield* …
1 展开运算符 n/a ...
0 逗号 从左到右 … , …

相关文章

  • JavaScript 02 (运算符和选择结构)

    js的关系运算符,js的逻辑运算符,js的赋值运算符,js的运算符的优先级问题,js的自增和自减,js的选择结构 ...

  • JS操作属性、函数

    条件运算符 运算符的优先级 代码块 JS操作属性 JS换肤 JS操作style属性 JS操作

  • 运算符及js操作属性

    关系运算符 相等运算符 条件运算符 运算符的优先级 代码块 js操作属性 js操作style属性 js操作clas...

  • 2018-12-01

    赋值运算符 关系运算符 Unicode编码 相等运算符 条件运算符 运算符的优先级 代码块 js操作属性 js换肤...

  • 前端笔记10

    条件运算符 运算符优先级 代码块 js操作属性 换肤 js操作style属性 js操作class属性 js中括号操...

  • JavaScript-运算符优先级

    一、运算符优先级 二、代码 index.js index.js

  • js操作属性 预解析 判断语句

    1. 三元运算符 2. 运算符的优先级 3. 代码块 4. js操作属性4.1 js操作style属性4.2 js...

  • HTML-12.day

    1.条件运算符 2.运算符的优先级 4.JS操作属性 7.JS中括号操作style属性 17.数组

  • JavaScript_运算符

    一、JS运算符 (一)一元运算(+ - ++ -- ! ~s) ++ 和 () 的优先级相同,...

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

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

网友评论

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

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