什麼是運算符?html
鏈接兩個或多個操做數(某個值,表達式)之間的符號。spa
運算符的分類:code
1. 賦值運算符(=)htm
將右邊的值賦給左邊。blog
var x = 10;
var y = x;
console.log(x); //10
console.log(y; //10
2. 算術運算符(+,-,/,*,%)字符串
注意:console
2.1 在作除法是,如果有無限循環的小數,就會取小數的近似值class
var x = 10;
console.log(x/3); //3.3333333333333335
2.2 當字符串與數值類型進行算術運算時,除了加號(+)是用來作字符串的拼接外,其他的都是將字符串轉換爲number類型,在作算術運算,若是字符串不能轉換成數字時,輸出結果爲NaN。object
var x = 10;
var y = "hello";
console.log(x+y); //10hello
console.log(x-y); //NaN
2.3 boolean與number類型作運算時,boolean會自動轉化成number類型,false-->0,true-->1。循環
var x = 10;
var flag = true;
var flag1 = false;
console.log(x+flag); //11
console.log(x-flag1); //10
2.4 字符串與任何類型進行「+」號運算都是字符串的拼接。
var num = 10; var str ="hello"; var flag = false; var nul = null; var unde = undefined; var obj = { name : "jack", age : 23, sex : "男" }; console.log(str + num); //hello10 console.log(str + flag); //hellofalse console.log(str + nul); //hellonull console.log(str + obj); //hello[object Object] console.log(str + unde); //helloundefined console.log(str + str); //hellohello
3. 一元運算符(++,--)
a++,先賦值,在自加1
++a,先自加1,在賦值
a--,先賦值,在自減1
--a,先自減1,在賦值
var num1 = 1; var num2 = 3; var num3 = 5; var num4 = 7; console.log(num1++); //1 console.log(++num2); //4 console.log(num3--); //5 console.log(--num4); //6
4. 比較運算符(<,<=,>,>=,==,!=,===,!==)
在用比較運算符是,返回的值必定是boolean值。
==:等於-----只比較內容,只要內容相等,就返回true,纔會返回true,不然就返回false。
===:徹底等於-----不只比較內容,還比類型,只有內容和類型都相等時,纔會返回true,不然就返回false。
var num1 = 1; var num2 = 3; console.log(num1 < num2); //true console.log(num1 >= num2); //false console.log(num1 != num2); //true
5. 邏輯運算符:與,或,非(&&,&,!,||,|)
其中與或有兩種與或,分別爲長路與或(&&,||),短路與或(&,|),長路與短路的區別在於,短路先執行邏輯運算符左側部分,符合要求就輸出邏輯運算結果,再也不執行右側部分;而長路不
管左側是否符合要求,它都會執行右側部分。
與(&&,&):當全部表達式都返回true時,結果才返回true,只要有一個表達式返回false,那麼結果就爲false。一假爲假
非(||,|):只要有一個表達式返回true,結果就返回true,只有全部的表達式都返回false時,結果才爲false。一真爲真
var num = 10; var str = "10"; if (num === str || num == str){ console.log("相等"); //相等 }
6. 算術賦值運算符(+=,-=,*=,/=,%=)
+=:就至關於num = num + num1
var num = 10; var num1 = 2; console.log(num += num1); //12 console.log(num -= num1); //10 console.log(num *= num1); //20 console.log(num /= num1); //10 console.log(num %= num1); //0
7. 三元運算符(三目運算符,條件運算符)
條件?表達式1:表達式2
當條件爲true時,執行表達式1;當條件爲false時,執行表達式2。
var num = 10; var num1 = 2; num == num1?console.log("執行表達式1"):console.log("執行表達式2"); //執行表達式2