JavaScript基础——运算符

运算符用于执行程序代码运算,在学习运算符之前我们需要先知道什么是隐式转换。

隐式转换

隐式类型转换:也称自动类型转换,是指不需要我们书写代码,由系统自动完成的类型转换。

  • +号一旦遇到字符串就表示拼接 会将+号另一边也转为字符串进行拼接

  • 数据类型进行运算的时候会尽量转为数字,并且符合Number的规律(js内置帮我们去转换的,隐式转换)

  • // 字符串类型先隐式转换成数字类型,再进行计算
    console.log("2" -1); //2 - 1 =>1
    console.log("2.4" - "1");//2.4 - 1=>1.4
    // true=>1,false=>0
    console.log("100" - true); //100 - 1 =>99
    console.log(false - true); //0 - 1 =>-1

运算符

算术运算符

+ - * / %(取余,取模)  ++ --
  • 数据类型进行运算的时候会尽量转为数字,并且符合Number的规律(js内置帮我们去转换的,隐式转换)

  • +号一旦遇到字符串就表示拼接 会将+号另一边也转为字符串进行拼接

    • ++:不管++在前,还是++在后都表示自身加1,如果++在前表示先自身加1再去参与运算,如果++在后,先去参与运算再去自身加1

    • --:不管--在前,还是--在后都表示自身减1,如果--在前表示先自身减1再去参与运算,如果--在后,先去参与运算再去自身减1

    •         console.log(10 + 20);//30

              console.log(10 + 20 + "2" + 100 + "22");//"30210022"

赋值运算符

= (赋值)   +=  -=   *=  /=   %=

        var a = 10; //将赋值运算符右边的值赋值到左边

        a = 100;  //给a重新赋值

        console.log(a);  //100

        a += 10; //<=> a = a + 10;

        console.log(a); //110

        a -= 10; //=> a = a - 10; 

        console.log(a); //100

比较运算符

普通比较

== (等于) != (不等于)  >  >=  <  <=
  1. 数据在进行比较的时候,会尽量转为数字进行比较 (隐式转换,符合Number规律)

    console.log(10 > 20);
    console.log("10" > 5); // 10 > 5 =>true
    console.log("10px" > 5); // NaN > 5 =>false
    console.log("5" <= "5");//true
    console.log(true == 1);//1 == 1 =>true
    console.log(false != true);//0 != 1
    console.log(NaN == NaN);//false    NaN不等于NaN
  2. 字符串进行比较,首先是按位比较,当前位先转为ASCII值,再进行比较,如果某一位比较出结果就不再比了

    // 0-9 -> 48 - 57
    // A-Z -> 65 - 90
    // a - z->97 - 122
    console.log("10123789798798872131" > "522"); //false
    console.log("5" <= "5");// true
    console.log("12823" > "12967"); //false
  3. null和undefined与其它数据类型都不相等,但是自己等于自己,null等于undefined 
console.log(null == 0);
console.log(null == false);
console.log(undefined == false);
​
console.log(null == null);
console.log(undefined == undefined);
console.log(null == undefined);

绝对比较

=== 绝对等于   !== 绝对不等于
  • 不同数据类型一定不相等

console.log(10 == "10");
console.log(10 === "10");//false
console.log(null === false);//false
​
console.log(false !== 0);//true

逻辑运算符

&&  (与)   ||(或)  !(非)
  • && (与) 表示且的关系 都为真才为真,一假即假

    • 根据当前逻辑运算符的规则返回对应位置的值

    • console.log(true && true);//true

      console.log(false && true);//false

  • ||(或) 一个为真即为真,都假即假

    • 根据当前逻辑运算符的规则返回对应位置的值

    • console.log(true || true);//true

      console.log(false || true);//true

  • !(非) 先将当前数据转为布尔值(符合Boolean的规律),然后在进行取反 最后返回一个布尔值

    • console.log(!10); //!true ->false

      console.log(!null); //!false ->true

三目运算符

三目运算符又称之为问号冒号表达式

语法:条件 ?条件成立执行的代码段:条件不成立执行的代码段;

  • 条件 :可以是一个表达式 也可以是单个数据 (自动检测数据的真假)

var score  = 50;
score >= 60 ?console.log("再接再厉~~"):console.log("三天不吃饭~~~~");

123 ? console.log("我是真的!"):console.log("我是假的!");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值