博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS--JavaScript表达式和运算符(结合性、优先级)详解
阅读量:2442 次
发布时间:2019-05-10

本文共 2960 字,大约阅读时间需要 9 分钟。

JavaScript表达式

表达式指可以运算,且必须返回一个值的式子。

表达式一般由值、变量、运算符、子表达式构成。

最简单的表达式可以是一个简单的值或变量:

1		//数字表达式"a"	//字符常表达式true	//布尔值表达式a		//变量表达式

值表达式的返回值是它本身,变量表达式的返回值为变量存储或引用的值。

把这些简单的表达式合并为一个复杂的表达式,那么连接这些表达式的符号就是运算符。

JavaScript运算符

运算符就是根据特定算法定义的执行运算的命令。

示例:a,b,c为变量表达式,而1和2是指表达式。而“=”和“+”是连接这些简单表达式的运算符。

var a = 1, b = 2;var c = a + b;

运算符一般使用符号来表示,如“+” “-” “/” “=” “|”等,也有些运算符使用关键字来表示,如delete、void等。

作用于运算符的子表达式被称为操作数。根据操作数的个数,JavaScript运算符可以分为如下3种类型:

  • 一元运算符:
    一个运算符能够结合一个操作数,把一个操作数运算后转换为另一个操作数。如“++”,“- -”等。
  • 二元运算符:
    一个运算符能够结合两个操作数,形成一个复杂的表达式。大部分运算符都属于二元运算符。
  • 三元运算符:
    一个运算符能够结合三个操作数,把三个操作数合并为一个表达式,最后返回一个值。JavaScript仅定义了一个三元运算符( ? :),它相当于条件语句。

JavaScript运算符表

分类 运算符 操作数类型 运算顺序 运算方向 说明
算数运算符 + 数值 12 (加法)将两个数相加
++ 数值 14 (自增)将表示数值的变量加1(可以返回新值或旧值)
- 数值 12 (减法)将两个数相减
- - 数值 14 (自减)将表示数值的变量减1(可以返回新值或旧值)
- 数字 14 一元求负运算
+ 数字 14 一元求正运算
* 数值 13 (乘法)将两个数相乘
/ 数值 13 (除法)将两个数相除
% 数值 13 (求余)求两个数相除的余数
字符串运算符 + 字符串 12 (字符串加法)连接两个字符串
+= 字符串 2 连接两个字符串,并将结果赋给第一个字符串
逻辑运算符 && 布尔值 5 (逻辑与)如果两个操作数都是真,则返回真,否则返回假
在这里插入图片描述 布尔值 4 (逻辑或)如果两个操作数都是假,则返回假,否则返回真
布尔值 14 (逻辑非)如果其单一操作为真,则返回假,否则返回真
位运算符 & 整数 8 (按位与)如果两个操作数对应位只有一个1,则在该位返回1
^ 整数 7 (按位异或)如果两个操作数对应位只有一个1,则在该位返回1
在这里插入图片描述 整数 6 (按位或)如果两个操作数对应位都是0,则在该位返回0
~ 整数 14 (求反)按位求反
<< 整数 11 (左移)将第一操作数的二进制形式的每一位向左移位,所位移的数目由第二操作数指定。右面的空位补0
>> 整数 11 (算数右移)将第一操作数的二进制形式的每一位向右位移,所位移的数目由第二操作数指定。忽略被移出的位
>>> 整数 11 (逻辑右移)将第一操作数的二进制形式的每一位向右移位,所位移的数目由第二操作数指定。忽略被移出的位,左面的空位补0
赋值运算符 = 标识符,任意 2 将第二操作数的值赋给第一操作数
+= 标识符,任意 2 将两个数相加,并将和赋给第一个数
-= 标识符,任意 2 将两个数相减,并将差赋给第一个数
*= 标识符,任意 2 将两个数相乘,并将积赋给第一个数
/= 标识符,任意 2 将两个数相除,并将商赋给第一个数
%= 标识符,任意 2 计算两个数相除的余数,并将余数赋给第一个数
&= 标识符,任意 2 执行按位与,并将结果赋给第一个操作数
^= 标识符,任意 2 执行按位异或,并将结果赋给第一个操作数
在这里插入图片描述 标识符,任意 2 执行按位异或,并将结果赋给第一个操作数
赋值运算符 <<= 标识符,任意 2 执行左移,并将结果赋给第一个操作数
>>= 标识符,任意 2 执行算术右移,并将结果赋给第一个操作数
>>>= 标识符,任意 2 执行逻辑右移,并将结果赋给第一个操作数
比较运算符 == 任意 9 如果操作数相等,则返回真
=== 任意 9 如果操作数完全相同,则返回真
!= 任意 9 如果操作数不相等,则返回真
!== 任意 9 如果操作数不完全相同,则返回真
> 数值或字符串 10 如果左操作数大于右操作数,则返回真
>= 数值或字符串 10 如果左操作数大于等于右操作数,则返回真
< 数值或字符串 10 如果左操作数小于右操作数,则返回真
<= 数值或字符串 10 如果左操作数小于等于右操作数,则返回真
特殊运算符 ?: 布尔值,任意 3 执行一个简单的"if…else"语句
,(逗号) 任意 1 计算两个表达式,返回第二个表达式的值
delete 属性标识 14 允许删除一个对象的属性或数组中指定的元素
new 类型,参数 15 允许创建一个用户自定义对象类型或内建对象类型的实例
特殊运算符 typeof 任意 14 返回一个字符串,表明未计算的操作数的数据类型
instanceof 对象,类型 10 检查对象的类型
in 字符串,对象 10 检查一个属性是否存在
特殊运算符 void 任意 14 该运算符指定了要计算一个表达式但不返回值
. (点) 对象,标识符 15 属性存取
[] 数组,整数 15 数组下标
() 函数,参数 15 函数调用

条件运算符

语法格式:

condition ? expr1 : expr2

condition是一个逻辑表达式,当其为true时,则执行expr1表达式,否则执行expr2表达式。

条件运算符可以拆分为条件结构:

if(condition)	expr1;else	expr2;

示例:借助三元运算符初始化变量为"no value",而不是默认的undefined.

name = name ? name : "no value";alert(name);

逗号运算符

逗号运算符(,)能够依次计算两个操作数并返回第2个操作数的值。

示例:先定义一个数组a[],然后再一个for循环内利用逗号运算符同时计算两个变量值的变化。这时可以看到输出的数组都是位于二维数组的对角线上。

			

在这里插入图片描述

void运算符

void运算符指定要计算一个表达式,但是不返回值。语法如下:

javascript:void (expression)javascript:void expression

expression时一个要计算的JavaScript标准的表达式。表达式外侧的圆括号是可选的。例如:

提交表单

上面这个代码创建了一个超链接,当用户单击时不会发生任何事。当用户单击超链接时,void(0)计算为0,但在JavaScript上没有任何效果。

转载地址:http://sisqb.baihongyu.com/

你可能感兴趣的文章
github 国内替代产品_2020年7种最佳Github替代品
查看>>
wps宏的功能_宏与功能之间的区别
查看>>
while和do while循环之间的区别
查看>>
适用于Windows / Mac / Linux的5种最佳Python IDE
查看>>
字符串转换整数python_Python将字符串转换为整数
查看>>
程序员连续剧_每个程序员都应该看的5部最佳电视连续剧
查看>>
人工智能优缺点_人工智能的优缺点
查看>>
运算符重载 python_Python运算符重载
查看>>
tensorflow简介_TensorFlow简介
查看>>
矩阵 python 加法_Python矩阵加法
查看>>
python快速排序_Python快速排序
查看>>
人工神经网络导论_神经网络导论
查看>>
C ++ STL无序多集– std :: unordered_multiset
查看>>
深度学习导论
查看>>
go-back-n_iMyFone D-Back iPhone数据恢复
查看>>
MailboxValidator –批量电子邮件列表清理服务
查看>>
机器学习中常见的最优化算法_最常见的机器学习算法
查看>>
css图片和边框之间有间隔_CSS和CSS3之间的区别
查看>>
iphone浏览器劫持修复_修复iPhone卡在Apple徽标问题上的问题
查看>>
5个最佳Python机器学习IDE
查看>>