JS 运算符(多复习一点)

运算符

  • 概念

    • 运算符:用于执行程序代码的运算,针对于一个以上的操作数进行运算

      1 + 1 : 1---操作数 +:运算符

    • 表达式:由一个或多个操作数通过运算符组成是式子

      1 + 1,a = 10, a++

    • 运算符:算术运算符、赋值运算符、逻辑运算符、比较运算符,三目运算符

 算术运算符

种类:+ - * / %(取余,求模),++(自增,自加), --

  • 基本操作

     //1.算术运算符 + - * / %(取余,求模),++(自增,自加), --
    console.log(10+4); //14
    console.log(10-4); //6
    console.log(10*4); //40
    console.log(10/4); //2.5  商
    console.log(10%4); //2  取余

  • 取余

    //2.取余
    console.log(10 % 2 == 0); //偶数  判断倍数
    var num = 123;
    console.log(num%10); // 取数值中的某一位

  • 精度缺失,不要用小数做判断

    //3.精度缺失,不要用小数做判断
    console.log(0.1+0.2 == 0.3); //false 0.30000000000000004
    console.log(0.07*100); //7.000000000000001

  • ++(这个有点绕  多练习就好啦)

    //++在前,先自加后运算(运算,赋值,打印),++在后,先运算后自加
    var x = 10;
    var y = x++; //y=x=10,  x++ = 11
    console.log(x,y); //x=11,y=10
    ​
    var n = 10;
    var m = ++n; //++n = 11  m=n=11
    console.log(n,m); //n=11,m=11
    ​
    var a = 10;
    var b = ++a + a++ + a++;   //b = 11 + 11 + 12 =34        a=13
    var c = b++ + ++b + ++a;   //c = 34 + 36 + 14 = 84     a=14,b=36
    console.log(a,b,c); //14 36 84

  • 隐式转换

    在运算符过程中会自动进行数据类型的转换,一般情况下都会转换成number进行运算,+号遇到字符串就会变成拼接符

    //5.隐式转换:在运算符过程中会自动进行数据类型的转换,一般情况下都会转换成number进行运算
    console.log(10 - "2"); //8   "2"--2
    console.log("2" * 3); //6
    console.log("10" / true); //10
    console.log("10" - null); // 10
    ​
    console.log(10+20+"age"+10+28); //+号遇到字符串就会变成拼接符  30age1028

 赋值运算符

种类: = += -= *= /= %=

//赋值运算符: =  +=   -=  *=  /=  %=
var a = 10; //将10赋值给a 先算等号右边的,将右边的值赋值给左边
​
//+= : 累加
a += 2;  //在当前基础上+2   等价于a = a + 2
console.log(a); //12

比较运算符

种类: > < >= <= ==(相等) != (不相等) \=\==(恒等、全等) !\==

  • 普通的数字比较

     console.log(10 > 20); //false

  • 字符串比较

    //1.字符串比较:一位一位比较,比较的是字符编码  “0”--48  “A”--65  “a”--97
    console.log("1000000" < "2"); //true
    console.log("Abc">"acc"); //false

  • null和undefined比较

    //2.null和undefined只和自己,和彼此相等,其他都不相等
    console.log(NaN == NaN); //false  
    console.log(null == undefined); //true
    console.log(undefined == undefined);//true
    ​
    //所有的运算符再进行运算的时候都会进行隐式转换,都会尽量转换为number
    console.log(null >= 0); //true
    console.log(null <= 0); //true
    console.log(null == 0); //false   null在进行相等判断的时候不会进行隐式转换

  • == 与 \===的区别

    //3.==  ===
    console.log("10" == 10);  //true,会进行隐式转换
    console.log("10" === 10); //false,不会进行隐式转换,一模一样才相等
    console.log(null === undefined); //false
    console.log(NaN === NaN); //false

 逻辑运算符

种类:&& || !

  • 基本运算

    //逻辑运算符  && ||  !
    var c = 98;
    //从左往右依次运算,代码中条件只能分段写,用&& ||连接多个条件
    console.log(100>c>90); //false  100>c-->true   true>90--->false
    ​
    //1.&&  :  条件都为真结果才为真
    console.log(100>c && c>90); //true
    ​
    //2.|| : 条件有一个为真结果就为真
    //小于60,大于100打一顿
    var s = 59;
    console.log(s<60 || s>100);
    ​
    //3.!取反:结果是boolean true  false
    console.log(!1); //false
    console.log(!null); //true
    console.log(!undefined); //true

  • 短路运算

    //4.1 &&与短路,两真为真,如果第一个条件为假,第二个条件不执行
    //                       如果第一个条件为真,执行第二个条件
    var a = 1;
    var b = 1;
    //第一个条件为假,第二个条件不会执行,执行到那个语句就把那个语句的结果赋值给前面的变量
    var c = --a && ++b;
    console.log(a,b,c); //0  1 0
    ​
    var a = 1;
    var b = 10;
    //第一个条件为真,执行第二个条件,执行到那个语句就把那个语句的结果赋值给前面的变量
    var c = ++a && ++b;  //2 11 11
    console.log(a,b,c); //2 11 11
    ​
    //4.2 ||或短路,一真为真,如果第一个条件为假,执行第二个条件
    //                       如果第一个条件为真,第二个条件不执行
    var x = 1;
    var y = 1;
    //第一个条件为假,执行第二个条件,执行到那个语句就把那个语句的结果赋值给前面的变量
    var z = --x || ++y;
    console.log(x,y,z);//0 2 2
    ​
    var x = 10;
    var y = 10;
    //第一个条件为真,第二个条件不会执行,执行到那个语句就把那个语句的结果赋值给前面的变量
    var z = --x || --y;
    console.log(x,y,z); //9,10,9

 三目运算符

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

//语法:条件?条件成立时执行的代码:条件不成立时执行的代码
var money = 100000000; //
//如果money > 100000,娶媳妇,否则单身
money > 100000 ? console.log("娶媳妇"):console.log("单身");
​
var tag = 10 > 20 ? true : false;
console.log(tag); //false

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值