美文网首页
JS运算符与表达式

JS运算符与表达式

作者: olivia1111 | 来源:发表于2016-01-24 10:38 被阅读150次

    一元操作符

    • ++ --

      var age=29;                       var age=29;
      ++age;//30                        var num=++age;//先+1,再赋值,num=30
      age++;//31                        var num=++age;//先赋值,后+1,num=29
      

    二元操作符

    • 算术操作符

    +,-,*,/,%
    var num=3+4;

    判断操作

    • 关系操作符

    ,>,<,>=,<=
    var result=6>4;
    alert(result);//true

    • 相等判断操作符

    ==,!=
    var num=4; var num="4"//相等操作时可将字符串转化为数值
    num==4;//true
    0==false;//true,false转化为0,true转化为1
    2==true;//false
    ‘’==0;//true,空字符转化为0
    ===全等判断,!==不全等判断
    var num='4';
    4==='4';//false
    4!=='4';//true

    逻辑操作符

    • !非,取反
      var flag=true;
      aler(!flag);//false
      alter(!0);//true
      alter(![]);false//没搞明白
      alter(!‘’);true
      两个“非”可取得变量的布尔值
      alter(!![]);//true
      alter(!!‘’);//false

    • &&(二元)
      第一个布尔值为true,取第二个操作数;第一个布尔值为false,取第一个操作数
      var result=true&&false;
      var result=true&&3;//3
      var result=1&&3;//3
      var result=[]&&‘’;//‘’
      var result=false&&3;//false
      var result=‘’&&3;//‘’
      var result=null&&3;//null
      短路:如果第一个值false,取第一个值,第二个值不进行操作
      var=0;
      var result=‘’&&num++;//num=0

    • ||
      第一个布尔值为true,取第一个操作数;第一个布尔值为false,取第二个操作数
      var result=true||false;
      var result=true||3;//true
      var result=1||3;//1
      var result=[]||‘’;//[]
      var result=false||3;//3
      var result=‘’||3;//3
      var result=null||3;//3
      短路:如果第一个值true,取第一个值,第二个值不进行操作
      var=0;
      var result=3||num++;//num=0

    赋值操作符

    • =
      var num=5;
      num=num+5; 等价于 num+=5;

    条件操作符


    • 布尔表达式?表达式一:表达式二;
      布尔表达式true ,值取表达式一
      布尔表达式false,值取表达式二
      var sex=true
      var result=sex? '男':'女';

    逗号操作符

    • ,简化操作
      var num1=5,num2=10,num3=20;

    对象操作符

    • new 获取某个对象的实例
      var cat=new Object()

    • delet 用于删除对象的属性

    • . []
      通过.和[]获取一个值得属性


    • instanceof 判断某个变量是否是某个对象的实例


    • in 判断某个属性是否在某个对象中


    位操作符

    • ~
    • & 数值转化为二进制,都为1时才取1,再转化为十进制
      var num=8;
      num &4;//0
      8=1 0 0 0
      4=0 1 0 0
      8&4=0 0 0 0
    • |
    • ^
    • <<转化为二进制后左移1
      var num=2;//2=0 0 1 0
      num<<1;//4,<<1=0 1 0 0
      num<<2;//8,<<2=1 0 0 0
    • >>
    • >>>

    操作符优先级

      var num=
      4+0||3;//4,+优先级高于||
      !false&&[];//[],先取非,再&&
      4>3?5:7+10;//5,条件操作符最低
      4==‘4’ && 3;//3,先取相等操作,再进行&&
      (4+3)||1;加括号可以提高优先级
    

    表达式

    相关文章

      网友评论

          本文标题:JS运算符与表达式

          本文链接:https://www.haomeiwen.com/subject/ddihkttx.html