JavaScript运算符

本JavaScript教程通过语法和示例探索了JavaScript语言中可用的各种运算符。

 

描述

JavaScript代码中使用运算符来执行比较,数学运算和赋值。让我们看一下不同类型的运算符。

 

比较运算符

比较运算符是用于比较相等性,不相等性以及值(或数据类型)差异的运算符。以下是JavaScript中比较运算符的列表:

运算符数据类型描述例子
== 任何 测试是否相等
执行隐式数据类型转换
h == 15
!= 任何 测试不相等
执行隐式数据类型转换
h!= 7
=== 任何 测试相等性和相同数据类型 h === 3
!== 任何 测试相等性和相同数据类型 h!== 4
> 数字,字符串 大于 h> 12
> = 数字,字符串 大于或等于 h> = 9
< 数字,字符串 小于 h <5
<= 数字,字符串 小于或等于 h <= 100

 

算术运算符

算术运算符是用于执行数学运算(例如加法,减法,乘法和除法)的运算符。以下是JavaScript中的算术运算符列表:

运算符数据类型描述例子
+ 数字 加法 h = h + 8
-- 数字 减法 h = h-4
* 数字 乘法 h = h * 12
/ 数字 除法 h = h / 10
数字 取模(余数) h = h%7
++ 数字 自增
(前增量或后增量)
++ h 
h ++
-- 数字 自减
(减量前或减量后)
--h 
h--

 

赋值运算符

赋值运算符是用于将值分配给变量的运算符。以下是JavaScript中的赋值运算符的列表:

运算符数据类型描述例子
= 任何变量 赋值 h = 8
+ = 任何变量 向变量添加一个值并赋值
与h = h + 3相同
h + = 3
-= 任何变量 向变量减去一个值并赋值
与h = h-12相同
h-= 12
* = 任何变量 向变量乘以一个值并赋值
与h = h * 7相同
h * = 7
/ = 任何变量 向变量除以一个值并赋值
与h = h / 5相同
h / = 5
%= 任何变量 取模并赋值
与h = h%10相同
h%= 10
<< = 任何变量 左移并赋值
与h = h << 3相同
h << = 3
>> = 任何变量 带符号扩展名的右移并分配值
与h = h >> 9相同
h >> = 9
>>> == 任何变量 右移零扩展并分配值
与h = h >>> 17相同
h >>> = 17
&= 任何变量 按位与并分配值
与h = h&6相同
h&= 6
^ = 任何变量 按位XOR并分配值
与h = h ^ 4相同
h ^ = 4
| = 任何变量 按位或并分配值
与h = h | 50相同
h | = 50

 

逻辑运算符

以下是JavaScript中逻辑运算符的列表:

运算符数据类型描述例子
&& 布尔值 逻辑与 (h == 40 && j> 2)
|| 布尔值 逻辑或 (h == 35 || j <10)
布尔值 逻辑非
反转布尔值
!(h <= 7)

 

字符串运算符

以下是JavaScript中的字符串运算符的列表:

运算符数据类型描述例子
+ 字符串 链接字符串

h =“Tech” +“OnTheNet”

变量h值“ TechOnTheNet”

+ = 字符串 通过附加到字符串的末尾进行连接

h + =“OnTheNet”

如果变量h以“ Tech”的值开头,

+=运算符会将“ OnTheNet”附加到“ Tech”后面,

并且变量h变成“ TechOnTheNet”

 

位运算符

以下是JavaScript中位运算符的列表:

运算符数据类型描述例子
&

整数
32位数字

h = h&6
^ 整数
32位数字
异或 h = h ^ 4
| 整数
32位数字
h = h | 50
<< 整数
32位数字
零填充左位移 h = h << 7
>> 整数
32位数字
有符号右位移 h = h >> 3
>>> 整数
32位数字
零填充右位移 h = h >>> 22

 

条件运算符

条件运算符(称为?:运算符)是一种特殊的运算符,它允许您在条件为true时分配一个值,在条件为false时分配另一个值。该运算符需要更多说明,所以让我们开始吧!

条件运算符是唯一的三元运算符,其语法格式如下:

b ? x : y

b 操作数必须是一个布尔型的表达式,x 和 y 是任意类型的值。

  • 如果操作数 b 的返回值为 true,则执行 x 操作数,并返回该表达式的值。
  • 如果操作数 b 的返回值为 false,则执行 y 操作数,并返回该表达式的值。

定义变量 a,然后检测 a 是否被赋值,如果赋值则使用该值;否则设置默认值。

var a = null; //定义变量a
typeof a != "undefined" ? a = a : a = 0; //检测变量a是否赋值,否则设置默认值
console.log(a); //显示变量a的值,返回null

条件运算符可以转换为条件结构:

if(typeof a != "undefined"){ //赋值
a = a;
}else{ //没有赋值
a = 0;
}
console.log(a);

也可以转换为逻辑表达式:

(typeof a != "undefined") && (a =a) || (a = 0); //逻辑表达式
console.log(a);
在上面表达式中,如果 a 已赋值,则执行 (a = a) 表达式,执行完毕就不再执行逻辑或运算符后面的 (a = 0) 表达式;如果 a 未赋值,则不再执行逻辑与运算符后面的 (a = a) 表达式,转而执行逻辑或运算符后面的表达式 (a = 0)。

注意:

在实战中需要考虑假值的干扰。使用 typeof a != "undefined" 进行检测,可以避开变量赋值为 false、null、""、NaN等假值时,也被误认为没有赋值。

 

好了, 以上是本文所有内容,希望对大家有所帮助,也希望大家对码农之家多多支持,你们的支持是我创作的动力!祝大家生活愉快!  

posted @ 2022-08-26 16:31  small_123  阅读(17)  评论(0编辑  收藏  举报