zoukankan      html  css  js  c++  java
  • javaScript系列---【js运算符类型】

    运算符

    1.算术运算符

    + -  * / %  ++  --

    // 规律:不同数据类型在进行运算的时候会尽量转为数字类型(内置帮我们进行转换,并且符合Number的规律)
    // 引用数据类型转为数字,先内置调用toString()方法,然后再去转为数字


    // +
    // 1.+ 号两边都是数字 表示加法
    // 2.如果一边是字符串就会将另一边也转为字符串进行拼接
    // 3.两边都不是字符串,如果不是数字会尽量转为数字进行运算(符合Number的规律)
    // 4.一旦遇到引用数据类型,会先将引用数据类型先转为字符串(内置调用toString()方法)然后再进行运算
    // +
    console.log(100+100);//200
    console.log(100+200+"1");//3001
    console.log(100+{});//100[object Object]
    console.log(100+true);//101
    console.log(100+null);//100
    console.log(100+undefined);//100 + NaN ->NaN
    console.log(null + []);//"null" =>null + "" => "null"
    console.log([]+{}); //[object Object]


    // -
    console.log(10-10);//0
    console.log(10-"5");//5
    console.log(true-"5");//-4
    console.log(true-[]);//1
    console.log(null - undefined); //NaN

    // *
    console.log(100 * [10]); //1000
    console.log(100 * {}); // 100 * [object Object] => 100 * NaN => NaN

    // /
    console.log(100/0);//Infinity
    console.log(true /null);//Infinity
    console.log([10]/2); // 5


    // % 取模 取余
    console.log(10 % 2); //0
    console.log("100" % 2); //0
    console.log("100" % 3); //1
    console.log("100" % {}); //NaN

     

    • ++

      • 首先++分为++在前和++在后,不管++在前还是++在后都表示自身加1,++在后先进行运算然后再自身加1,++在前是先自身加1,再进行运算

    • --

      • 首先--分为--在前和--在后,不管--在前还是--在后都表示自身减1,--在后先进行运算然后再自身减1,--在前是先自身减1,再进行运算

    var x = 2;
    // 5
    //         2 + 3 + 5 - 5 - 7 + 6 + 6   => 10
    console.log(x++ + x++ + ++x - x++ - ++x + --x + x--);
    console.log(x);// 5

     

    2.赋值运算符

    = :赋值运算符 将等号右边的值赋值给左边
    +=
    -=
    /=:
    %=:

    3.比较运算符

    比较运算符返回结果是布尔值

    普通比较
    >  >= < <=  ==(等于)  !=
    1. 不同数据类型进行比较,会先尽量转为数字再进行比较

    console.log(10>20);
    console.log(10>"2");
    console.log(10>"20");
    console.log(true > null);//true
    console.log(10>"abc");//false

     

    2.字符串进行比较首先是按位进行比较(只要有一位出结果了后边的就不再比较了),按照ASCII值进行比较

    console.log("80">"200");//true
    console.log("a">"Z");//true
    console.log("aBCdklasjdklasjdlka">"Zdasdasdasaaaaaaaa");//true
    console.log("ab">"acd");//false

    3.null等于undefined 但是null和undefined与其它数据都不相等

    console.log(null == undefined);
    绝对比较
    === (绝对等于)  !== (绝对不等于)  

    1.不同数据类型一定不相等

    console.log(true === 1);
    console.log("100" === 100);

     

    4.逻辑运算符

    1.自动进行布尔值的判断

    2.只有0 NaN null undefined "" 是假的其它的都是真的

    &&  与(且)  都真才为真,一假即假 
    ||  或        都假才假,一真即真
    !  非        取反
    //! 现将当前这个数据转为布尔值然后在进行取反(返回值是布尔值)
    1. 其它类型转为布尔

      Boolean(数据)= !!数据(先转为布尔值->取反再取反)

    5.三目运算符

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

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

      var score  = 70;
     score > 80 ? console.log("我考试及格了"):console.log("中午不吃饭了~~~");

    6.运算符的优先级及结合性

    算术运算符 先 * / % 最后+ - 要提高运算的优先级加()

    • (5 + 1) * 3

    比较运算符不可以连写

    • 10 > 5 > 2 =>false -> true > 2 -> 1 > 2 => false

    •  

  • 相关阅读:
    NLP---word2vec的python实现
    matplotlib---Annotation标注
    matplotlib---legend图例
    matplotlib---设置坐标轴
    windows下右键新建md文件
    vue+webpack+npm 环境内存溢出解决办法
    element-ui tree树形组件自定义实现可展开选择表格
    vue-动态验证码
    ES6 数组函数forEach()、map()、filter()、find()、every()、some()、reduce()
    eslint配置文件规则
  • 原文地址:https://www.cnblogs.com/chenhaiyun/p/14526614.html
Copyright © 2011-2022 走看看