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等假值时,也被误认为没有赋值。

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值