JS基礎學習2
1.CMAScript 運算符
算數運算符
遞增(++)、遞減(--)
var i=15; console.log(i++); console.log(i); var i1=15; console.log(++i1); console.log(i1);
>>
// i++:先引用後賦值 ++i:先賦值後引用
NaN:屬於一個Number類型的一個特殊值,當涉及數據轉換成數字時得不到結果。
NaN參與的所有運算都是false,除了!=
var d="hello"; var a=+d; console.log(a); console.log(typeof a);
>>
邏輯運算符
邏輯AND運算(&&)的運算符可以是任何類型的,不止是Boolean值。
如果某個運算數不是原始的Boolean型值,邏輯AND運算並不一定返回Boolean值;
- 如果某個運算數是 null,返回 null。
- 如果某個運算數是 NaN,返回 NaN。
- 如果某個運算數是 undefined,返回undefined。
邏輯OR運算符(|||)與邏輯 AND 運算符相似,如果某個運算數不是 Boolean 值,邏輯 OR 運算並不一定返回 Boolean 值
賦值運算符
賦值 =
JavaScript中=代表賦值,兩個等號==表示判斷是否相等
例如,x=1表示給x賦值為1
if (x==1){...}程序表示當x與1相等時
if(x==“on”){…}程序表示當x與“on”相等時
配合其他運算符形成的簡化表達式
例如i+=1相當於i=i+1,x&=y相當於x=x&y
等性運算符
執行類型轉換的規則如下:
如果一個運算數是 Boolean 值,在檢查相等性之前,把它轉換成數字值。false 轉換成 0,true 為 1。
如果一個運算數是字符串,另一個是數字,在檢查相等性之前,要嘗試把字符串轉換成數字。
如果一個運算數是對象,另一個是字符串,在檢查相等性之前,要嘗試把對象轉換成字符串。
如果一個運算數是對象,另一個是數字,在檢查相等性之前,要嘗試把對象轉換成數字。
在比較時,該運算符還遵守下列規則:
值 null 和 undefined 相等。
在檢查相等性時,不能把 null 和 undefined 轉換成其他值。
如果某個運算數是 NaN,等號將返回 false,非等號將返回 true。
如果兩個運算數都是對象,那麽比較的是它們的引用值。如果兩個運算數指向同一對象,那麽等號返回 true,否則兩個運算數不等。
關系運算符
比較運算符兩側如果一個是數字類型,一個是其他類型,會將其類型轉換成數字類型.
比較運算符兩側如果都是字符串類型,比較的是最高位的asc碼,如果最高位相等,繼續取第二位比較.
Boolean運算符
全等號和非全等號
等號和非等號的同類運算符是全等號和非全等號。這兩個運算符所做的與等號和非等號相同,只是它們在檢查相等性前,不執行類型轉換。
JS基礎學習2