JavaScript笔记3:进制、运算符

目录

进制

运算符

算术运算符:+、-、*、/、%

一元运算符:

自增和自减

逻辑运算符

赋值运算符

关系运算符

相等运算符

三目运算符(条件运算符)

逗号运算符

运算符优先级


  1. 进制

    1. 16进制:0x开头

    2. 8进制:0开头

    3. 2进制:0b开头

  2. 运算符

    1. 运算符也叫操作符

    2. 运算符可以对一个或多个值进行运算,并获取运算结果

    3. 算术运算符:+、-、*、/、%

      1. +:

        1. 可以对两个值进行加法运算,如果是两个字符串则会拼接字符串

        2. 任何值和字符串作加法运算,都会把该值转换为字符串,然后拼接(除了+外,其余的和字符串运算都不会转换为字符串)

          1. 加空串转换为字符串:

            c =123;
            c=c+"";
            

             

      2. -、*、/:

        1. 任何值做-、*、/运算都会自动转换为Number

          a = 100 - '1'//99
          b = 100 * '2'//200
          c = 100 / '2'//50
          

           

    4. 一元运算符:

      1. 只需要一个操作数

      2. +(正号)、-(负号)

        1. +:不会对数字产生任何影响

        2. -:会对数字进行负号的取反

      3. 对于非Number类型值,会先将其转换为Number,然后再运算。因此可以对一个其他类型的值使用+来将其转换为Number

        d = '123'
        d = +d
        console.log(typeof d)//number
        

         

    5. 自增和自减

      1. ++:自增

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

        2. 对于一个变量自增以后,原变量的值会立即自增1

        3. 自增分两种:

          1. a++:后自增

          2. ++a:前自增

      2. --:自减

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

        2. 对于一个变量自减以后,原变量的值会立即自减1

        3. 自减分两种:

          1. a--:后自减

          2. --a:前自减

    6. 逻辑运算符

      1. 三种逻辑运算符:!(非)、&&(与)、||(或)

        1. !:

          1. 用来进行非运算,相当于取反

          2. 对一个值进行两次取反,则这个值不会变化。如果对非布尔值进行取反,则会将其转换为布尔值,然后再取反。根据这两个特点,可以对一个非布尔值进行两次取反将一个非布尔值转换为布尔值

            e = 1
            console.log(!!e)//true
            console.log(typeof !!e)//boolean
            

             

      2. &&:

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

        2. 短路与

      3. ||:

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

        2. 短路或

      4. 布尔值的逻辑运算

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

        2. 与运算:

          1. 如果两个值都为true,则返回后边的true

          2. 如果两个值都为false,则返回前边的false

            var f = 2 && 3
            console.log(f)//3  都为true,返回第二个
            var g = 0 && ''
            console.log(g)//0  都为false,返回第一个
            

             

      5. 或运算

        1. 如果两个值都为true,则返回前边的true

        2. 如果两个值都为false,则返回后边的false

          var f = 2 || 3
          console.log(f)//2  都为true,返回第一个
          var g = 0 || ''
          console.log(g)//''  都为false,返回第二个
          

           

      6. 赋值运算符

        1. 有很多种种:=、+=、-=、*=、/=、%=

          1. =:

            1. 可以将符号右边的值赋给左边的变量

          2. +=:

            1. ”a += 5“ 等价于”a = a + 5“

          3. 其他四种类推+=

      7. 关系运算符

        1. 通过关系运算符比较两个值的大小关系

        2. 如果关系成立则返回true,如果关系不成立则返回false

        3. >、>=、<、<=

        4. 非数值进行比较时,会将其转换为数字然后再比较。如果两侧都是字符串,则不会转换为数值,而是分别比较字符串中字符从Unicode编码(一位一位进行比较,比较中文时没有意义)

        5. 如果比较两个字符串型的数字时,可能会得到不可预期的结果,可将字符串转换为数字再比较,可在字符串前添加+号,如+"5"

      8. 相等运算符

        1. ==相等:

          1. 相等运算符比较两个值是否相等,相等则返回true,不等返回false

          2. 数据类型不一样时,会自动做类型转换

          3. NaN不和任何值相等,包括自身

            console.log(1 == '1')//true
            console.log(null == 0)//false
            console.log(undefined == null)//true,undefined衍生自null,所以相等
            console.log(NaN == NaN)//false,NaN不和任何值相等,包括自身
            

             

        2. !=不相等:

          1. 相等运算符比较两个值是否不相等,不相等则返回true,相等返回false

          2. 类型不同会自动做类型转换

        3. ===全等:

          1. 和==相似,但是不会做类型转换,类型不同则不相等

        4. !==不全等:

          1. 和!=相似,但是不会做类型转换,类型不同则直接相等

        5. isNaN()函数

          1. 用来检查一个值是否是NaN

            var b=NaN;
            console.log(isNaN(b))//true
            

             

      9. 三目运算符(条件运算符)

        1. 语法:

          条件表达式 ? 语句1 : 语句2;
          
          var a = 30;
          var b = 20;
          c = a > b ? 'a大' : 'b大'
          console.log(c)//a大
          

           

        2. 执行流程:

          1. 首先对条件表达式进行求值

          2. 如果结果为true,则执行语句1,并返回执行结果

          3. 如果结果为false,则执行语句2,并返回执行结果

        3. 如果条件表达式不是布尔值,会被转换为布尔值在进行运算

        4. 逗号运算符

          1. 可以用来声明多个变量并赋值

            var a=1, b=2, c=3
            

             

        5. 运算符优先级

          1. 优先级不需要记忆,使用括号()就行

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值