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"http://相等操作時可將字符串轉化為數值
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;加括號可以提高優先級

表達式

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 操作符 一元操作符:++,-- 算術操作符:+,-,*,/,% 關系操作符:>,<,>=,<= 相等操作符:==,...
    angelwgh閱讀 150評論 0 0
  • 操作符 一元操作符 只能操作一個值的操作符叫做一元操作符。 有遞增(++)和遞減(--)操作符,有兩個版本: 前置...
    YM雨蒙閱讀 834評論 3 8
  • 第一章: JS簡介 從當初簡單的語言,變成了現在能夠處理復雜計算和交互,擁有閉包、匿名函數, 甚至元編程等...
    LaBaby_閱讀 1,703評論 0 6
  • (68~73頁,第一個秋天10月21日) 一、亞隆醫生 亞隆醫生的這份記錄,主基調似乎給我一種感覺,批評與自...
    猜猜我為什么叫閃電閱讀 281評論 0 1
  • 北宋后宮最有名的故事,叫作貍貓換太子。故事的主角,叫作劉娥。 1 生命走到盡頭時,劉娥躺在金碧輝煌的大宋宮殿里。汴...
    婉xi閱讀 6,523評論 31 66