JS运算符与表达式

一元操作符

  • ++ --

    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;加括号可以提高优先级

表达式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 操作符 一元操作符:++,-- 算术操作符:+,-,*,/,% 关系操作符:>,<,>=,<= 相等操作符:==,...
    angelwgh阅读 183评论 0 0
  • 操作符 一元操作符 只能操作一个值的操作符叫做一元操作符。 有递增(++)和递减(--)操作符,有两个版本: 前置...
    YM雨蒙阅读 891评论 3 8
  • 第一章: JS简介 从当初简单的语言,变成了现在能够处理复杂计算和交互,拥有闭包、匿名函数, 甚至元编程等...
    LaBaby_阅读 1,764评论 0 6
  • (68~73页,第一个秋天10月21日) 一、亚隆医生 亚隆医生的这份记录,主基调似乎给我一种感觉,批评与自...
    猜猜我为什么叫闪电阅读 350评论 0 1
  • 北宋后宫最有名的故事,叫作狸猫换太子。故事的主角,叫作刘娥。 1 生命走到尽头时,刘娥躺在金碧辉煌的大宋宫殿里。汴...
    婉xi阅读 6,564评论 31 66

友情链接更多精彩内容