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”的值开头, 则 并且变量h变成“ TechOnTheNet” |
位运算符
以下是JavaScript中位运算符的列表:
运算符 | 数据类型 | 描述 | 例子 |
---|---|---|---|
& |
整数 |
与 | 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等假值时,也被误认为没有赋值。
好了, 以上是本文所有内容,希望对大家有所帮助,也希望大家对码农之家多多支持,你们的支持是我创作的动力!祝大家生活愉快!