javascript 操作符
阿新 • • 發佈:2017-07-01
有一個 ssa init logs 求反 兩個 tolower -1 值轉換 操作符包括算數操作符(如加號和減號),位操作符,關系操作符和相等操作符
在ecmaScript 中,在操作符應用於對象時,相應的操作符通常都會調用對象的valueOf()或者toString()方法
1.遞增遞減操作符:
應用時會先將待操作的變量轉換為數字值,否則設置為NaN,在執行操作
2.一元加和減操作符
在對非數值應用一元加操作符時,該操作符會像Number()轉型函數一樣對這個值執行轉換。換句話說,布爾值false和true將被轉換為0和1,字符串值會被按照一組特殊的規則進行解析
var aa="01"; var bb="1.1"; var cc="zz" var dd=false; var ee=1.1; var o={ ss:1 } var aa1=+aa; //1 var bb1=+bb;//1.1 var cc1=+cc;//NaN var dd1=+dd;//0 var ee1=+ee;//1.1 var o1=+o.ss;//13.布爾操作符 1.邏輯非 邏輯非操作符首先會將它的操作數轉換為一個布爾值,然後再對其求反 邏輯非操作符遵循下列規則: 如果操作數是: 一個對象,返回false 一個空字符串, 返回true 一個非空字符串, 返回false 數值0 返回true 任意非0數值 返回 false null 返回true NaN 返回true undefind 返回true 邏輯非操作也可以用於將一個值轉換為與其對應的布爾值。而同時使用來那個邏輯非操作符,實際上就會模擬Boolean( )轉型函數的行為 2.邏輯與 邏輯與可以應用於任何類型的操作數,而不僅僅是布爾值。在有一個數不是布爾值的情況下,邏輯與操作就不一定返回布爾值;他遵循下列規則: 如果有一個操作數是null 返回null 如果有一個操作數是NaN 返回NaN 如果有一個操作數是undefined 返回undefined 3.邏輯或 與邏輯與操作相似,如果有一個操作數不是布爾值,邏輯或也不一定返回布爾值 4.乘性操作符 1.乘法 在操作數為非數值的情況下會執行自動的類型轉換。如果參與乘法計算的某個操作數不是數值,後臺會先使用Number()轉型函數將其轉換為數值。也就是說空字符串將被當作0,true將被當作1 規則: 有一個操作數是NaN,則結果是NaN; infinity與0相乘,結果 NaN 2.除法 與乘法類似 規則: 除數是0或者Infinity 返回NaN 3.求模 5 % Infinity 返回5 (除數無窮大) Infinity % 5 返回NaN (被除數無窮大) 5 % 0 返回NaN (被除數有限大而除數是0) 5.加性操作符 1.加法
Infinity加Infinity 返回Infinity -Infinity加-Infinity 返回-Infinity Infinity加-Infinity 返回NaN 5+5 返回10 5+“5” 返回“55” var num1=5; var num2=10; var message="this sum of 5 and 10 is "+num1+num2; console.log(message); 輸出: this sum of 5 and 10 is 510 var num1=5; var num2=10; var message="this sum of 5 and 10 is " + (num1+num2); console.log(message); 輸出: this sum of 5 and 10 is 15
2.減法
Infinity-Infinity //NaN -Infinity-(-Infinity) //NaN Infinity-(-Infinity) //Infinity -Infinity-Infinity //-Infinity var result1 = 5 - true; //4 true被轉換成了1 var result2 = NaN-1; //NaN var result3 = 5 - "2"; //3 "2"被轉換成了2 var result4 = 5 - ""; //5 ""被轉換成了0 var result5 = 5 - null; //5 null被轉換成了04.關系操作符 在比較字符串符時,實際比較的是兩個字符串中對應位置的每個字符的字符編碼值 任何操作數與NaN比較,都返回false
"Brick"<"alphabet" //true "Brick".toLowerCase()<"alphabet".toLowerCase(); //false "23" < "3" //true 2的字符編碼50 3的字符編碼51 "23" < 3 //false "a" < 3 //false5.相等操作符 1.不全等: null和undefined 是相等的 要比較相等性之前,不能將NULL和undefined轉換成其他任何值 如果有一個操作數是NaN,則相等操作符返回false,而不相等操作符返回true。即使兩個操作數都是NaN,相等操作符也返回false;因為按照規則,NaN不等於NaN.
null == undefined
true
"NaN"==NaN
false
NaN==NaN
false
NaN != NaN
true
false == 0
true
true == 1
true
true == 2
false
undefined == 0
false
null == 0
false
1.全等:
除了在比較之前不轉換操作數之外,全等和不全等操作符沒什麽區別。
555 === "555"
false
555 == "555"
true
555 !== "555"
true
555 != "555"
false
undefined == null //null與undefined是不同類型的值
true
undefined === null
false
6.條件操作符
var max = (num1 > num2) ? num1 :num2;
7.賦值操作符
每個主要算術操作符都有對應的復合賦值操作符。這些操作符如下所示:
var nn = 10;
nn += 10;
20
var num = 10;
num =num +10;
20
var ss=5;
ss *=5;
25
var dd=5;
dd /=5;
1
var ff=5;
ff %=5;
0
var ee=5;
ee -=2;
3
8.逗號操作符
使用逗號操作符可以在一條語句中執行多個操作
javascript 操作符