JS逗号运算符的用法详解
一、逗号运算符的特性及作用
逗号运算符的作用是将若干表达式连接起来。它的优先级别在所有运算符中是最低的,结合方向是"自左至右"的。 (即:逗号运算符:是按顺序执行表达式,并且获得右边表达式的值。)
如:3*3,4*4 //16
二、逗号表达式
逗号表达式的一般形式是:表达式1,表达式2,表达式3……表达式n
逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,……一直计算到表达式n的值。最后整个逗号表达式的值是表达式n的值。
看下面几个例子:
x=8*2,x*4 /*整个表达式的值为64,x的值为16*/
(x=8*2,x*4),x*2 /*整个表达式的值为32,x的值为16*/
(x=(x=8*2,x*4)),x*2 /*整个表达式的值为128,x的值为64*/
x=(z=5,5*2) /*整个表达式为赋值表达式,它的值为10,z的值为5*/
逗号表达式用的地方不太多,一般情况是在给循环变量赋初值时才用得到。所以程序中并不是所有的逗号都要看成逗号运算符,尤其是在函数调用时,各个参数是用逗号隔开的,这时逗号就不是逗号运算符。
运算符使它两边的表达式以从左到右的顺序被执行,并获得右边表达式的值。运算符最普通的用途是在 for 循环的递增表达式中使用。例如:
for (i = 0; i < 10; i++, j++)
{
k = i + j;
}
每次通过循环的末端时, for 语句只允许单个表达式被执行。, 运算符被用来允许多个表达式被当作单个表达式,从而规避该限制。
三、运算符按照优先级的不同从高到低排列如下:
优先级 | 运算类型 | 关联性 | 运算符 |
---|---|---|---|
19 |
圆括号
|
n/a |
( … )
|
18 |
成员访问
|
从左到右 |
… . …
|
需计算的成员访问
|
从左到右 |
… [ … ]
|
|
new (带参数列表)
|
n/a |
new … ( … )
|
|
17 | 函数调用 | 从左到右 |
… ( … )
|
new (无参数列表) | 从右到左 |
new …
|
|
16 | 后置递增(运算符在后) | n/a |
… ++
|
后置递减(运算符在后) | n/a |
… --
|
|
15 | 逻辑非 | 从右到左 |
! …
|
按位非 | 从右到左 |
~ …
|
|
一元加法 | 从右到左 |
+ …
|
|
一元减法 | 从右到左 |
- …
|
|
前置递增 | 从右到左 |
++ …
|
|
前置递减 | 从右到左 |
-- …
|
|
typeof | 从右到左 |
typeof …
|
|
void | 从右到左 |
void …
|
|
delete | 从右到左 |
delete …
|
|
14 | 乘法 | 从左到右 |
… * …
|
除法 | 从左到右 |
… / …
|
|
取模 | 从左到右 |
… % …
|
|
13 | 加法 | 从左到右 |
… + …
|
减法 | 从左到右 |
… - …
|
|
12 | 按位左移 | 从左到右 |
… << …
|
按位右移 | 从左到右 |
… >> …
|
|
无符号右移 | 从左到右 |
… >>> …
|
|
11 | 小于 | 从左到右 |
… < …
|
小于等于 | 从左到右 |
… <= …
|
|
大于 | 从左到右 |
… > …
|
|
大于等于 | 从左到右 |
… >= …
|
|
in | 从左到右 |
… in …
|
|
instanceof | 从左到右 |
… instanceof …
|
|
10 | 等号 | 从左到右 |
… == …
|
非等号 | 从左到右 |
… != …
|
|
全等号 | 从左到右 |
… === …
|
|
非全等号 | 从左到右 |
… !== …
|
|
9 | 按位与 | 从左到右 |
… & …
|
8 | 按位异或 | 从左到右 |
… ^ …
|
7 | 按位或 | 从左到右 |
… | …
|
6 | 逻辑与 | 从左到右 |
… && …
|
5 | 逻辑或 | 从左到右 |
… || …
|
4 | 条件运算符 | 从右到左 |
… ? … : …
|
3 | 赋值 | 从右到左 |
… = …
|
… += …
|
|||
… -= …
|
|||
… *= …
|
|||
… /= …
|
|||
… %= …
|
|||
… <<= …
|
|||
… >>= …
|
|||
… >>>= …
|
|||
… &= …
|
|||
… ^= …
|
|||
… |= …
|
|||
2 | yield | 从右到左 |
yield …
|
yield* | 从右到左 | yield* … | |
1 | Spread | n/a |
... …
|
0 | 逗号 | 从左到右 |
… , …
|
JS逗号运算符的用法详解相关推荐
- JS逗号运算符(,)详解
逗号运算符是二元运算符,它能够先执行运算符左侧的操作数,然后再执行右侧的操作数,最后返回右侧操作数的值. 逗号运算符可以实现连续运算,如多个变量连续赋值. var a = 1,b = 2,c = 3, ...
- js中小括号()的用法详解
一.js中小括号()的用法详解 1.作为分组运算符: 分组运算符应该是再熟悉不过了,因为在小学数学中就有应用,例如: var a=(1+2)*4; console.log(a); 以上代码的输出值是1 ...
- js中indexOf的用法详解
js中indexOf的用法详解 String.IndexOf 方法 (Char, [startIndex], [count]) 报告指定字符在此实例中的第一个匹配项的索引.搜索从指定字符位置开始,并检 ...
- Python算术运算符及用法详解
算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除.下表列出了 [Python] 支持所有基本算术运算符. 接下来将对表 1 中各个算术运算符的用法逐一讲解. + 加法运算符 加法运算符很 ...
- python怎么显示求余的除数_Python算术运算符及用法详解
算术运算符也即数学运算符,用来对数字进行数学运算,比如加减乘除.下表列出了 Python 支持所有基本算术运算符. 表 1 Python 常用算术运算符 运算符 说明 实例 结果 + 加 12.45 ...
- Python 算术运算符及用法详解
文章目录 前言 一,+ 加法运算符 请看代码: 运行结果: 拼接字符串 请看代码: 运行结果: 二,- 减法运算符 请看代码: 运行结果: 求负 请看代码: 运行结果: 注意,单独使用+是无效的,不会 ...
- Python三目运算符(三元运算符)用法详解(含Python代码)
一.前言 三目运算符,又称条件运算符,是计算机语言(c,c++,java等)的重要组成部分.它是唯一有3个操作数的运算符,有时又称为三元运算符. 定义: 对于条件表达式b ? x : y,先计算条件b ...
- Python三目运算符(三元运算符)用法详解
我们从一个具体的例子切入本节内容.假设现在有两个数字,我们希望获得其中较大的一个,那么可以使用 if else 语句,例如: if a>b:max = a; else:max = b; 但是 P ...
- python算术运算符_Python算术运算符及用法详解
Python 支持所有的基本算术运算符,这些算术运算符用于执行基本的数学运算,如加.减.乘.除和求余等.下面是 7 个基本的算术运算符. +:加法运算符,例如如下代码:a = 5.2 b = 3.1 ...
最新文章
- SAP SD 客户信贷管理解析
- 嵌套 思维导图_工作小Tips:如何用思维导图来整理你的汇报
- sqoop mysql where_Sqoop基本语法简介
- SpringMVC的请求-获得请求参数-获得集合类型参数2
- java gdal postgresql_使用GDAL/OGR操作Postgresql数据库
- NS2仿真分析无线网络的攻击防御(1)
- windows cmd install nscp
- Vlan配置详解之三层交换
- python zip dict_关于python:zip(list)和zip(* list)之间的区别
- JavaScript 虚拟键盘 A-Keyboard
- Android开发教程:shape和selector的结合使用
- java spark 教程_Spark基础教程——向Spark传递函数(Java篇)
- C/C++回调方式系列之一 函数指针和函数回调模式
- java EasyUI导出当前页和导出模板
- 机器人机电液控制一体化联合仿真
- APICloud 入门教程窗口篇
- 中图分类号,文献标识码,文章编号
- JavaWeb核心技术——RequestResponse用户登录注册案例
- 如何系统地自学python100天_Github上发布了一个Python学习秘笈,从萌新到王者的100天Python学习之旅...
- 隐私集合求交(PSI)协议研究综述