一元操作符
-
++ --
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;加括號可以提高優先級