zoukankan      html  css  js  c++  java
  • JavaScript基础 -- 运算符

      

    运算符

      运算符也叫操作符,通过运算符可以对一个或多个值进行运算,并获取运算结果

      比如: typeof就是运算符, 可以来获取一个值的类型,他会将该值的类型以字符串的形式返回

     算数运算符

        当对非Number的值进行算数运算,会先将其转换为Number类型再运算

        任何值和NaN运算都会得到NaN

        + : 

          +可以对两个值进行加法运算,并将结果返回

          如果对两个字符串进行加法运算,则会做拼串

          任何的值和字符串做加法运算,都会先转换为字符串,再做拼串, 可利用这一特点将数字转换为字符串类型

        - :  可以对两个值进行减法操作,并将结果返回

        * :  可以对两个值进行乘法操作,并将结果返回

        /  :  可以对两个值进行除法操作,并将结果返回

        % :  取余数

      一元运算符

          只需要一个操作数

          + :  正号,不会对数字产生任何影响

          - :   负号 , 负号可以对数字取反

           对于非Number类型 , 会先将其转换为Number类型

     

      自增自减

        自增 ( ++ ) : 

          - 通过自增可以使变量在自身的基础上增加1

          - 对于一个变量自增之后,原变量的值会立即自增1

          - 自增分两种: 后++(a++) 和 前++(++a)

            不同的是a++ 和 ++a 的值不同

            a++的值等于原变量的值( 自增前的值 ),

            ++a的值等于原变量新值( 自增后的值 )

        自减 ( -- ) : 

          - 通过自减可以使变量在自身的基础上减1

          - 自减分两种: 后--(a--) 和 前--(--a)

            不同的是a-- 和 --a 的值不同

            a--的值等于原变量的值( 自减前的值 ),

            --a的值等于原变量新值( 自减后的值 )

      逻辑运算符

          JS中为我们提供了三种逻辑运算符

            ! ( 非 ) :

              - ! 可以对一个值进行非运算

              - 所谓非运算就是值对一个布尔值进行取反操作

                true变false, false变true

              - 如果对非布尔值进行非运算,则会先将其转换为布尔值,再取反 

          布尔值的情况:

            && ( 与 ) :

              - 可以对符号两侧的值进行与运算并返回结果

              - 两个值中只要有一个值是false就返回false , 只有两个都是true才返回true

            || (或) :

              - 可以对符号两侧的值进行或运算并返回结果

              - 两个值中只要有一个值是true就返回true , 只有两个都是false才返回false

          非布尔值的情况:

            && ( 与 ) :

              - 对于非布尔值进行与运算,会先将其转换为布尔值,然后在运算,并且返回原值

              - 如果第一个值为true ,则必然返回第二个值

               如果第一个值为false ,则直接返回第一个值

            || (或) :

              - 对于非布尔值进行或运算,会先将其转换为布尔值,然后在运算,并且返回原值

              - 如果第一个值为true ,则直接返回第一个值

               如果第一个值为false ,则返回第二个值

      赋值运算符

          = 可以将符号右侧的值赋值给左侧变量  

          += : a += 5 等价于 a = a + 5

          -= : a -= 5 等价于 a = a - 5

          *= : a *= 5 等价于 a = a * 5

          /= : a /= 5 等价于 a = a / 5

          %= : a %= 5 等价于 a = a % 5

      关系运算符

          通过关系运算符可以比较两个值之间的大小关系,如果关系成立它会返回true, 关系不成立则返回false 

          > 大于号 : -判断符号左侧的值是否大于右侧的值, 成立则返回true,不成立则返回false

          >= 大于等于号 : -判断符号左侧的值是否不小于右侧的值, 成立则返回true,不成立则返回false 

          < 小于号 : -判断符号左侧的值是否小于右侧的值, 成立则返回true,不成立则返回false 

          <= 小于等于号 : -判断符号左侧的值是否不大于右侧的值, 成立则返回true,不成立则返回false  

         非数值的情况

            对于非数值进行比较时,会先将其转换为数值在进行比较

            任何值和NaN进行任何比较时都是false 

           特殊情况 : 如果符号两边都是字符串时,不会将其转换为数值,而是比较两个字符串的字符编码,

                比较字符编码是是一位一位进行比较的,如果两位一样,则比较下一位,所以可以借用它对英文进行排序

                在比较两个字符串型的数字时,一定记得转型

      相等运算符

        比较两个运算符是否相等,如果相等则返回true, 否则返回false

        使用 == 来做相等运算

        当使用 == 来比较两个值时,会做自动的类型转换,转换成相同的类型,再比较

        undefind 衍生自 null ,所以这两个值做相等判断时,会返回true

        NaN 不和任何值相等,包括它自己本身,可以通过isNaN() 函数来判断一个值是否是NaN,如果该值是NaN则返回true

        不相等使用 !=来做运算,与 相等运算符 相反

        === 全等  用来判断两个值是否全等,他和相等类似,不同的是他不会做自动的类型转换,如果两个值的类型不同,直接返回false

        !== 不全等 ,与全等相反

      条件运算符

        也叫三元运算符

          语法: 条件表达式?语句1 : 语句2

          流程 : 条件运算符在执行时,首先对条件表达式进行求值

              如果该值为true,则执行语句1,并返回执行结果

              如果该值为tfalse,则执行语句1,并返回执行结果

          

      运算符的优先级

        优先级越高越先计算,优先级一样,则从左往右计算

        可以使用()括号改变优先级

  • 相关阅读:
    UVa 1331 最大面积最小的三角剖分
    UVa 1626 括号序列(矩阵连乘)
    POJ 3295 Tautology(构造法)
    POJ 2586 Y2K Accounting Bug(贪心)
    POJ 2109 Power of Cryptography
    abcd
    好数
    Gift
    密码游戏
    约瑟夫游戏
  • 原文地址:https://www.cnblogs.com/-Aqiu/p/13735106.html
Copyright © 2011-2022 走看看