美文网首页
2022-04-25 JavaScript基础学习 - 2

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

作者: 网恋被骗二块二 | 来源:发表于2022-04-25 18:27 被阅读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中用途最为广泛的操作符之一,即三元运算符

    赋值操作符

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

    • 乘后赋值(*=)
    • 除后赋值(/=)
    • 取模后赋值(%=)
    • 加后赋值(+=)
    • 减后赋值(-=)
    • 左移后赋值(<<=)
    • 右移后赋值(>>=)
    • 无符号右移后赋值(>>>=)

    逗号操作符

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

    相关文章

      网友评论

          本文标题:2022-04-25 JavaScript基础学习 - 2

          本文链接:https://www.haomeiwen.com/subject/afgfyrtx.html