1. 程式人生 > >javascript 操作符

javascript 操作符

有一個 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;//1
3.布爾操作符 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被轉換成了0  
4.關系操作符 在比較字符串符時,實際比較的是兩個字符串中對應位置的每個字符的字符編碼值 任何操作數與NaN比較,都返回false
"Brick"<"alphabet"                                        //true
"Brick".toLowerCase()<"alphabet".toLowerCase();           //false
"23" < "3"                                                //true 2的字符編碼50  3的字符編碼51
"23" <  3                                                //false
"a"  <  3                                                //false
5.相等操作符 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 操作符