JavaScript運算符 javascript
1、運算符和操做數的組合就稱爲表達式。(七) 位運算符 java
JavaScript數據類型轉換 express
javascript數據類型強制轉換
1、轉換爲數值類型
Number(參數) 把任何的類型轉換爲數值類型
A.若是是布爾值,false爲0,true爲1
B.若是是數字,轉換成爲自己。將無心義的後導0去掉。
C.若是Null轉換爲0
D.若是是undefined 轉換爲NaN not a number
E.若是對象則會先調用對象的 valueOf(),若是valueOf()返回的是NaN,而後再調用對象的 toString()
F.若是是字符串
1.若是字符串當中只有數字,轉換爲10進制(忽略前導0和後導0)
2.若是是有效的規範的浮點型,轉換爲浮點值(忽略前導0和後導0)
3.若是是空字符串,則轉換爲0
4.若是是其餘的值,返回NaN
parseInt(參數1,參數2) 將字符串轉換爲整數
A.若是一個字符串只包含數字,則以10進制的方式轉換爲整型。
B.他會自動忽略字符串前面的空格,知道找到第一個非空的數值字符串,直到解析到第一個
非數值的字符串結束。
C.若是字符串的第一個字符不是空格、數字、-,那麼返回NaN
D.參數1
八進制 十進制 十六進制
0後面的數字不能超過7位 0x 0-9 a-f
參數2,控制解析模式
parseFloat() 將字符串轉換爲浮點數
A.字符串當中的.只有第一個有效,其餘的都是無效的。
B.若是字符串是一個有效的整數,他返回的是整數,不會返回浮點數。
2、轉換爲字符串類型
1. String(參數)
能夠將任何的類型轉換爲字符串
null和undefined: 也都會轉換爲字符串,分別是 null和undefined
布爾類型:會返回true 和false
數值類型:自己的字符串
2.toString()
調用的格式 對象.toString()
做用是將對象以字符串的方式來表示
array.toString() 由,分割的字符串
Boolean.toString() 兩個值 true false
String.toString() 返回自己
Number.toString(參數) 返回自己的字符串形式
控制輸出模式
注意:null和undefined沒有toString()方法
3、轉換爲布爾類型
Boolean() 能夠將任何類型的值轉換爲布爾值
轉換爲假: ""、 0、 NaN 、undefined、 false
其餘的所有都轉換爲真。 函數
javascript數據類型隱式轉換
1、函數類
isNaN()
該函數會對參數進行隱式的Number()轉換,若是轉換不成功則返回true;
alert()
輸出的內容隱式的轉換爲字符串
2、運算符類
1.算數運算符
- * / %
若是操做數不是數值,將會隱式的調用Number()函數,按照這個函數的轉換規則進行轉換,
若是轉換不成功,整個表達式返回NaN
+
若是操做數都是數值,而後進行相加
任何數據類型和字符串相加,都會隱私的調用他們的toString()方法,而後返回他們拼接的結果。
若是操做數都是布爾值,那麼進行Number()轉換,false爲0,true爲1,進行相加。
2.關係運算符
關係運算符的操做數能夠是任何類型,若是操做數不是數值類型,將會隱式的轉換
(1)他運算的結果都是布爾值
(2)都是字符串的時候,他會先隱式轉換成ASCII碼而後進行比較他們的第一個字母。
(3)都是數值的時候,他會正常比較
(4)當一個字符串,另外一個是數值的時候,把字符串嘗試轉換成Number()數值類型,而後進行 比較,若是不能轉換成數值類型,則會返回NaN,而後返回假
(5) undefined == null
(6)若是兩個都是數值型字符串,那麼他們隱式轉換成ASCII碼,也是隻比較第一個
(7)若是一個數值和布爾值進行比較,會把布爾值隱式轉換爲數值再進行比較,true爲1, false爲 0
3.等性運算符 == !=
會對操做數隱式的轉換後再比較值
(1)若是其中至少有一個是布爾值,那麼會隱式的調用Number()進行轉換,而後比較。
(2)若是一個爲字符串。另外一個爲數值,那麼會隱式的調用Number()對字符串進行轉換,
若是轉換不成功,則返回false;
(3) undefined == null
(a) 比較字符串的時候是比較他們的ASCII碼是否相等
(b) 比較兩個數值的時候是比較他們的數值是否相等
(c) 比較函數的時候,判斷他們的位置是否相等。
4.邏輯運算符
A. 放在表達式裏面用於判斷。
B. 給變量賦值
var a= b && c
若是一個運算數是對象,另外一個是隱式的調用Boolean()函數,返回該對象。
若是兩個運算數都是對象,返回第二個對象。
若是某個運算數是 null,返回 null。
若是某個運算數是 NaN,返回 NaN。
若是某個運算數是 undefined,發生錯誤。
var a=b ||c
若是一個運算數是對象,而且該對象左邊的運算數隱式的調用Boolean()函數 值爲 false,則返回該對象。
若是兩個運算數都是對象,返回第一個對象。
若是最後一個運算數是 null,而且其餘運算數值均爲 false,則返回 null。
若是最後一個運算數是 NaN,而且其餘運算數值均爲 false,則返回 NaN。
若是某個運算數是 undefined,發生錯誤。
3、語句類
if(表達式){
}else{
}
格式: var 變量= Boolean expression?真值:假值
while(){
}
if語句和三元表達式裏面的表達式會隱式的調用Boolean()函數,按照這個函數的轉換規則,轉換 爲相應的布爾 值
spa