2022-04-25 JavaScript基础学习 - 2

2022-04-25  本文已影响0人  网恋被骗二块二

操作符

一元操作符

只操作一个值的操作符叫一元操作符
1.递增/递减操作符
++age --age中的++ --,可以作用于任何值,遵循如下规则:
对于字符串,如果是有效的数值形式,那么字符串转数字,进行操作;如果不是有效的数值形式,那么返回NaN,但同样字符串转化为了数字。
对于布尔值,true转化为1后执行操作,而false转为0
对于浮点值,直接操作。
对于对象,则优先调用valueOf,如果其结果是NaN,那么调用toString再进行计算。

  1. 一元加和减
    一元加由一个加号 (+)表示,放在变量前头,对数值没有任何影响。
    一元减由一个减号(-)表示,放在变量前头,主要用于把数值变成负值。
    如果将一元加应用到非数值,则会执行与使用Number()转型函数一样的类型转换,一元减会遵循与一元加同样的规则。

位操作符

  1. 按位非
    按位非操作符用波浪符(~)表示,它的作用是返回数值的一补数,即将该值的二进制中的0改为1,1改为0。
    按位非的最终效果是对数值取反并减1。
  2. 按位与
    按位与操作符用和号(&)表示,有两个操作数,比较两个数的二进制,只有两个位置都为1的时候,该位置才返回1,否则都返回0,最后将其二进制结果转换回来。
  3. 按位或
    按位或操作符用管道符(|)表示,同样有两个操作数。过程与按位与相同,判断条件不同,按位或操作在至少一位是1时返回1,两位都是0时返回0。
  4. 按位异或
    按位异或用脱字符(^)表示,同样有两个操作数。过程与按位与相同,判断条件不同,按位异或与按位或的区别是,它只在一位上是1的时候返回1。
  5. 左移
    左移操作符用两个小于号(<<)表示,会按照指定的位数将数值的所有位向左移动。同样是转化为二进制处理,位移后空白的位置由0补充。
  6. 有符号右移
    有符号右移由两个大于号(>>)表示,会将数值的所有32位都向右移,同时保留符号(正或负)。位移后,空位由指定的符号位填充。
  7. 无符号右移
    无符号右移用3个大于号表示(>>>),会将数值的所有32位都向右移。对于正数,无符号右移与有符号右移结果相同。但是负数,位移的空位都会填充为0,所以导致结果相差过大。

总结
按位非是转负数并减一;
按位与按照二进制,对位都为1则返回1;
按位或按照二进制,对位只要有1就返回1;
按位异或按照二进制,对位只能有1个1才返回1;
左移符按照二进制左移,空位0填充;
右移符按照二进制右移,空位由指定符填充;
无符号右移符按照二进制右移,正数同右移符,负数全部填充1;

布尔操作符

  1. 逻辑非
    逻辑非操作符由一个叹号(!)表示,可应用给ECMAScript中的任何值。这个操作符始终返回布尔值,无论应用到的是什么数据类型。逻辑非操作符首先将操作数转换为布尔值,然后再对其取反。
    逻辑非操作符重用,如!!就是转化成布尔值,取反后在取反。
  2. 逻辑与
    逻辑与操作符由两个和号(&&)表示,逻辑与第一位为false,返回false;第一位为true,返回第二位的布尔值(true 或 false)
  3. 逻辑或
    逻辑或操作符由两个管道符(||)表示,逻辑或与逻辑与的判断机制一样,不过条件相反,逻辑或第一位为true,返回true;第一位为false,才返回第二位的布尔值。

乘性操作符

  1. 乘法操作符
    乘法操作符由一个星号(*)表示
  2. 除法操作符
    除法操作符由一个斜杠(/)表示,返回整除结果
  3. 取模操作符
    取模(余数)操作符由一个百分比符号(%)表示,返回整除后的余数

指数操作符

ECMAScript 7新增了指数操作符,Math.pow()现在有了自己的操作
**,不仅如此,指数操作符也有自己的指数赋值操作符**=
简单点说,就是某数的多少次方。

加性操作符

  1. 加法操作符
    注意字符串并不会转化为数值,而是拼接字符串
  2. 减法操作符

关系操作符

关系操作符执行比较两个值的操作,包括小于(<)、大于(>)、小于 等于(<=)和大于等于(>=),用法跟数学课上学的一样。

相等操作符

  1. 等于和不等于
    ECMAScript中的等于操作符用两个等于号(==)表示,如果操作数相等,则会返回true。不等于操作符用叹号和等于号(!=)表示,如果两个操作数不相等,则会返回true。
    这两个操作符都会先 进行类型转换(通常称为强制类型转换)再确定操作数是否相等。


    特殊情况的比较结果
  2. 全等和不全等

全等和不全等操作符与相等和不相等操作符类似,只不过它们在比较相等时不转换操作数。全等操作符由3个等于号(===)表示,只有两个操作数在不转换的前提下相等才返回true,不全等操作符用一个叹号和两个等于号(!==)表示,只有两个操 作数在不转换的前提下不相等才返回true。

注意:由于相等和不相等操作符存在类型转换问题,因此推荐使用全等和不全等操作符。这样有助于在代码中保持数据类型的完整性。

条件操作符

条件操作符是ECMAScript中用途最为广泛的操作符之一,即三元运算符

赋值操作符

简单赋值用等于号(=)表示;
每个数学操作符以及其他一些操作符都有对应的复合赋值操作符:

逗号操作符

在一条语句中同时声明多个变量是逗号操作符最常用的场景。不过,也
可以使用逗号操作符来辅助赋值。

上一篇下一篇

猜你喜欢

热点阅读