JavaScript学习笔记3

  运算符

算数运算符

        书写规范:运算符 前后 空格隔开

                  + 数值之间的加法运算  有字符串的参与,就会变成 字符串拼接符

      let num = 1 + 2;                //3

      let num1 = "1" + 2;              //12

      let num3 = 100 + 'px'           //100px                                                                                       

                  - 减号 尽力去把两侧的数据 转成 数值

     let num = [2] - 1;                //1

      let num1 =  3 - "1";              //2

      let num3 = 100 - 'px' ;          //NaN                                                                          

                  *         /   与减类似

                   注意:    2 / 0 infinite    0 / 0 NaN

          %  模/取余  大模小 取余  小模大 取小

let num=4%9;

          ** 指数运算

赋值运算符       =

         let obj = {

                name:'卡布奇诺',

                age:3

         }

      let a = obj.age         // 3 拿到的值

      obj.age = 8          // 修改 重新赋值

      console.log(a);  // 3,注意不是8

     let obj = {

        name:'kbqn',

        age:[1,2]

      }

      let a = obj.age         // [1,2]地址

      obj.age = [3,4]        // 重新赋值 为 [3,4]的 地址

      console.log(a);  // [1,2]

 let obj = {

        name:'kbqn',

        age:[1,2]

      }

      let a = obj.age         // [1,2]地址

      obj.age[0] = 4        // 修改obj里age存的【1,2】第一个数据为4

      console.log(a);  // [4,2]

其他赋值运算符

 +=

          x = x + 3

          x += 3

-=

          x = x - 3

          x -= 3

*=  /=  %= **=

        x++ ++x 自增1

          x = x + 1

        x-- --x 自减1

          x = x - 1

  前置++ 和后置++ 的区别 赋值的时候才有区别 没有赋值时  效果一致

            有赋值的时候:

            前置++ 先运算 再赋值

            后置++ 先赋值 后运算

  let x = 9;

  let num1 = x++;

  console.log(num1);         //9

                

        let x = 9

        let num1 = ++x

        console.log(num1);        //10

let x = 1

console.log((++x) + (x++) + (++x));        //8

let y = x + ++x + 3 * (x = ++x + x + x++ + 1) + x++ + 3        //y=46

比较运算符

        比较运算符 通过比较返回一个 布尔值 满足条件则 true 不满足则false

        > ,<,>=,<=,==,!=  比较两边数值是否成立,不看数据类型

        === 全等于 严格比较 要求 类型一致 (不会类型转换)

        !== 全不等于 严格比较

 let bool = undefined === undefined // true

let bool = NaN === NaN // false

let bool = [] === [] //false  不同的地址 

let bool1 = {} === {} //false  不同的地址。

console.log(1 !== 1);

逻辑运算符

逻辑与  &&             

                     let a = 1 && 2 && ""

                    console.log(a);           //空字符串

                    let a = 1 && 2 && "123" //全部为true 就拿最后一个值

                   let a = undefined && 0 && ''        //有显示false就返回为第一个,undefined

逻辑或||

 let a = 0 || undefined || 123 || "123abc"        //123

全部为false就拿最后一个值,有一个true就是该值

取反!

        console.log( !1 );        //false

       console.log( !NaN );        //true

        console.log( !!NaN );           //false

优先级非>与>或

let zq = "" || [1] && null || function(){} || 0

console.log(zq);        //          function(){}                                                                                         

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值