本文目錄一覽:
- 1、javascript 隱式轉換問題 “true” == true
- 2、Javascript的typeof返回哪些數據類型?
- 3、js面試題,3種強制類型轉換和2種隱式類型轉換是什麼
- 4、js數組怎麼隱式轉化成number
javascript 隱式轉換問題 “true” == true
== 判斷規則:
如果兩個值類型相同,進行 === 比較。
如果兩個值類型不同,他們可能相等。根據下面規則進行類型轉換再比較:
如果一個是null、一個是undefined,那麼[相等]。
如果一個是字符串,一個是數值,把字符串轉換成數值再進行比較。
如果任一值是 true,把它轉換成 1 再比較;如果任一值是 false,把它轉換成 0 再比較。
如
果一個是對象,另一個是數值或字符串,把對象轉換成基礎類型的值再比較。對象轉換成基礎類型,利用它的toString或者valueOf方法。js核心
內置類,會嘗試valueOf先於toString;例外的是Date,Date利用的是toString轉換。非js核心的對象,令說(比較麻煩,我也
不大懂)
任何其他組合,都[不相等]。
特別需要注意的是true、false的轉換,例如:
alert(true == 1); //ture
alert(true == 2); //false, true會轉換成number,也就是1,當然 1 不等於 2
//可以使用 !! 來把一個數據類型轉換為boolean型
alert(true == !!2) //true,!2 === false !(!=2) = !false = true
另外在js中,如果把一個變量用在邏輯運算中,那麼變量在無初始值或者其值為 0、-0、null、””、false、undefined 或者 NaN時,它的值為 false。否則,其值為 true。
Javascript的typeof返回哪些數據類型?
1)返回數據類型
undefined
string
boolean
number
symbol(ES6)
Object
Function
2)強制類型轉換
Number(參數) 把任何類型轉換成數值類型。
parseInt(參數1,參數2) 將字符串轉換成整數
parseFloat()將字符串轉換成浮點數字
string(參數):可以將任何類型轉換成字符串
Boolean() 可以將任何類型的值轉換成布爾值。
3)隱式類型轉換
1.四則運算
加法運算符+是雙目運算符,只要其中一個是String類型,表達式的值便是一個String。
對於其他的四則運算,只有其中一個是Number類型,表達式的值便是一個Number。
對於非法字符的情況通常會返回NaN:
‘1’ * ‘a’ // = NaN,這是因為parseInt(a)值為NaN,1 * NaN 還是 NaN
2.判斷語句
判斷語句中的判斷條件需要是Boolean類型,所以條件表達式會被隱式轉換為Boolean。 其轉換規則同Boolean的構造函數。如:
var obj = {};if(obj){
while(obj);}
3.Native代碼調用
JavaScript宿主環境都會提供大量的對象,它們往往不少通過JavaScript來實現的。 JavaScript給這些函數傳入的參數也會進行隱式轉換。如BOM提供的alert方法接受String類型的參數:
alert({a: 1}); // = [object Object]
js面試題,3種強制類型轉換和2種隱式類型轉換是什麼
三種強制類型轉換:String(),Boolean(),Number();
(還有兩個:parseInt和parseFloat 應該也算吧)
2種隱式類型:+和-
js數組怎麼隱式轉化成number
可以通過以下3種方法來將string值轉換成number:
1.調用Number()來對string進行值類型轉換。
2.parseInt()。
3.parseFloat()。
Number()
使用Number()函數來對string進行強制類型轉換是最直接的做法。不過,這種做法有一個局限性:如果字符串截去開頭和結尾的空白字符後,不是純數字字符串,那麼最終返回結果為NaN。
代碼如下:
var a = ” 42″;
var b = ” 42mm”;
var c = “0xff”;
var d = “42.34”;
console.log(Number(a));//42
console.log(Number(b));//NaN
console.log(Number(c));//255
console.log(Number(d));//42.34
parseInt()
原創文章,作者:CCDW,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/143256.html