web前端之路

JavaScript操作符与表达式

2019-09-27  本文已影响0人  疯也是一种态度_

表达式

3.14  //数字直接量
"hello world"  //字符串直接量
/pattern/  //正则表达式直接量
true  //返回一个布尔值: 真
false  //返回一个布尔值: 假
null  //返回一个值: 空
this  //返回“当前”对象
i  //返回变量i的值
sum //返回sum的值
undefined  //undefined是全局变量,和null不同,它不是一个关键字

操作符

1.算术运算符

(+, -, *, /, %, **): 普通的加、减、乘、除、取余运算,其中**为次方运算符。

2.一元运算符

(++, --, +, -):一些只需要一个操作数的运算符,注意:++, --放在变量左右侧的差别,放在变量的左侧是先自增(减),再取值,放在右侧则相反。

++是递增操作符,--是递减操作符
i++ 先赋值 后自加
i-- 先赋值 后自减

--i 先自减 再赋值
++i 先自加 再赋值

3.赋值运算符

(=, +=, -=, *=, /=, %=(取余)):将某个常量或变量或表达式的值赋值给另一个变量,注意:ES6新增的解构赋值。

乘法/赋值(*=)
除法/赋值(/=)
取于/赋值(%=)
加法/赋值(+=)
减法/赋值(-=)
左移/赋值(<<=)
有符号右移/赋值(>>=)
无符号右移/赋值(>>>=)

4.相等运算符

(==, !=, ===, !==):用于比较左右的操作数是否相等。
相等和不相等 == / !=
这两个操作符都会先转换操作数(通常称为 强制转型),然后再比较它们的相等性
全等和不全等 === / !==
除了在比较之前不转换操作数之外,全等和不全等操作符 与 相等和不相等操作符没什么区别
console.log("55" == 55);
输出:true      //因为转换后相等
console.log("55" === 55);
输出: false     //因为不同的数据类型不相等

console.log(undefined == null);
输出:true
console.log(undefined === null); 
输出: false

5.关系运算符

(>, <, >=, <=): 用于比较操作符左右的操作数的大小。

6.位操作符

(&, |, ~, ^, <<, >>, >>>): 将其操作数转化为二进制后,进行与、或、非、异或等操作运算,最终返回JS中的一个数值。其中>>>为无符号右移。

按位非(NOT): 按位非操作符由一个波浪线(~)表示,执行按位非的结果就是返回数值的反码。
按位与(AND): 按位与操作符由一个和号字符( & )表示
按位或(OR): 按位或操作符由一个竖线符号(|)表示
按位异或(XOR): 按位异或操作符由一个插入符号(^)表示
左移 : 左移操作符由两个小于号(<<)表示,这个操作符会将数值的所有位向左移动指定的位数。
有符号的右移:该操作符由两个大于号(>>)表示,这个操作符会将数值向右移动
无符号右移 : 该操作符由 3 个大于号(>>>)表示

7.逻辑运算符

(&&, ||, !): 主要通过与、或、非来判断一个表达式的值是否为true。注意:与和或操作具有短路计算效果。&&(与)  :找第一个为false的值并返回

&&(与) :找第一个为false的值并返回
返回只有两种结果 true false
只要有一个条件不成立,返回false

||(或):找第一个为true的值并返回
返回只有两种结果 true false
只要有一个条件成立,返回true

! (非)
说明:
1)、无论操作数是什么数据类型,逻辑非都会返回一个布尔值
2)、逻辑非操作符首先会将它的操作数转换为一个布尔值,然后再 对其求反。
3)、同时使用两个逻辑非操作符时,第一个逻辑非操作会基于无论什么操作数返回一个布尔值

上一篇下一篇

猜你喜欢

热点阅读