資料型別的自動轉換和隱式轉換

2021-09-26 19:01:11 字數 1304 閱讀 6544

隱式轉換:

1

var a='1'+1;

console.log(typeof a);

console.log(a);

//string

//11

var b='2'-2;

console.log(typeof b);

console.log(b);

//number

//0

var c='3'==2;

console.log(typeof c);

console.log(c);

//boolean

//false

顯式轉換:

parseint(str,radix),parsefloat(str,radix),number()轉變成數學

boolean(param)轉變成布林值

substring()轉變成字串

四則運算符

加法運算子不同於其他幾個運算子,它有以下幾個特點:

1.運算中其中一方為字串,那麼就會把另一方也轉換為字串

2.如果一方不是字串或者數字,那麼會將它轉換為數字或者字串

console.log('a'+ +'b');

//anan

4 *'3'

//12

4*//0

4*[1,2]

//nan

比較運算子

如果是物件,就通過 toprimitive 轉換物件

toprimitive(input,preferedtype?)

input是輸入的值,preferedtype是期望轉換的型別,他可以是字串,也可以是數字。

如果轉換的型別是number,會執行以下步驟:

如果input是原始值,直接返回這個值;

否則,如果input是物件,呼叫input.valueof(),如果結果是原始值,返回結果;

否則,呼叫input.tostring()。如果結果是原始值,返回結果;

否則,丟擲錯誤。

如果轉換的型別是string,2和3會交換執行,即先執行tostring()方法。

你也可以省略preferedtype,此時,日期會被認為是字串,而其他的值會被當做number。

如果是字串,就通過 unicode 字元索引來比較

資料型別的隱式轉換

下班很無聊 2017 05 26 20 23 一 函式類 isnan 該函式會對引數進行隱式的number 轉換,如果轉換不成功,則會返回true var a 1a alert isnan a true alert 輸出的內容隱式的轉換為string型別 二 運算子類 a.算數運算子 如果運算元不是...

C 中資料型別轉換 隱式轉換

隱式轉換 一般是低型別向高型別轉化,能夠保證值不發生變化。隱式數值轉換 從 sbyte 到 short int long float double 或 decimal。從 byte 到 short ushort int uint long ulong float double 或 decimal。從...

C 中資料型別轉換 隱式轉換

隱式轉換 一般是低型別向高型別轉化,能夠保證值不發生變化。隱式數值轉換 從 sbyte 到 short int long float double 或 decimal。從 byte 到 short ushort int uint long ulong float double 或 decimal。從...