資料型別的轉化 自動轉化 強制轉化

2021-10-03 21:08:42 字數 2736 閱讀 2454

資料型別轉化,就是將當前資料型別轉化為其他資料型別 , 分為自動轉化和強制轉化

**在 執行 if 判斷時 ,其他資料型別會自動轉化為布林型別**

0 、 '' (空字串) 、 undefined 、 null 、 nan 這五種情況轉化為false(注0.0和0.00000等 都算是0 )

其他的所有都會轉化為 true 例如 : ' ' (字串裡空格) 、 '0' (字串0)等

**執行字串拼接時, 會將其他資料型別轉化為字串型別**

拼接符號 : +號 兩側應該都是字串型別, 如果是其他型別,會自動轉化為 字串型別,再執行拼接

轉化原則:

布林值 true ---> 字串 'true'

布林值 false ---> 字串 'fasle'

undefined ---> 字串 'undefined'

unll ---> 字串 'null'

數值 ---> 將數值解析轉化為對應的純數字的字串 ; 科學技術法會解析,然後再進行拼接。

陣列 ---> 將 中的內容,轉化為字串的形式,進行拼接 [1,2,3,4] --> 結果:1,2,3,4

物件 ---> 任何物件,任何內容,都會轉化為: [object object] 固定的內容形式,

注意第乙個object的首字母小寫,第二個大寫。

函式 ---> 將所有的程式**,全部轉化為字串

**在執行數**算時 會觸發資料型別的自動轉化**

轉化原則:

true ---> 1

false ---> 0

undefined : 轉化為 nan

null : 轉化為 0

字串 :

如果整個字串,是純數字字串,或者符合科學計數法 ---> 轉化為對應的數值

科學技術法會解析,然後再拼接

如果字串內有不符合數字規範的內容 ---> 轉化為 nan

陣列,物件,函式:

如果是 + 加號 執行的是字串拼接效果 , 按照這些資料型別轉化為字串的原則來轉化

如果是 其他形式的運算 執行結果都是 nan

**boolean() 這個方法 不會改變 變數中儲存的原始數值**

只是將變數中的數值,解析獲取,再轉化輸出,不會改變變數中儲存的內容

轉化原則與自動轉化原則相同:

false : 0 ''(空字串) undefined null nan

true : 除上面以外其他資料,都轉化為true

**方法1  變數.tostring(進製型別)**

將數值強制轉化為字串,並且可以設定轉化的進製

.tostring(數) 之前,不能直接寫數值,必須是寫成變數的形式

進製常用的數值是 2 8 16

可以設定的範圍是 2 - 36 進製 。因為:10個數值+26個英文本母,最多只能是36個。

例:var int = 100;

console.log(int.tostring(2)); // 這樣就是以2進製形式輸出, .tostring()中沒有輸入數值,預設執行十進位制

**方法2 string( 變數 / 資料 )**

將變數或者資料,轉化為字串

原則按照自動轉化的原則來執行

不會改變變數中儲存的原始數值

**方法1  number(變數/數值)** 

將其他型別強制轉化為數值型別,轉化原則與自動轉化選擇相同

true ---> 1

false ---> 0

undefined : 轉化為 nan

null : 轉化為 0

字串 :

如果整個字串,是純數字字串,或者符合科學計數法 ---> 轉化為對應的數值

科學技術法會解析,然後再拼接

如果字串內有不符合數字規範的內容 ---> 轉化為 nan

陣列,物件,函式:

執行結果都是 nan

**方法2 parseint(變數 / 資料)**

是獲取變數或者資料的整數部分 , 從資料的左側起解析獲取整數內容

true false undefined null 物件 函式 : 都轉化為 nan

陣列:獲取中的第乙個數值的整數部分,如果有就獲取,如果沒有,結果是nan

數值:如果是整數就直接獲取,如果是浮點數,或者科學計數法,就獲取整數部分, 科學計數法是解析之後再獲取

字串:

如果是純數字的字串,就直接獲取整數部分,科學計數法不會解析;

如果字串含有不是數字的部分,則從左側開始, 找整數部分,如果有就輸出數,沒有就 nan

**方法3 parsefloat( 變數 / 數值 )**

獲取浮點數部分

true false undefined null 物件 函式 : 都是 nan

陣列:獲取中第乙個數值的整數部分,如果有就獲取,如果沒有,結果是nan

數值: 整數,浮點數,都會完整獲取,科學計數法是解析之後再獲取

字串:

如果是純數字的字串,就全部獲取, 科學技術法會解析;

如果字串含有不是數字的部分,則從左側開始解析符合浮點數的部分,如果有就輸出數,沒有就 nan

資料型別的轉化 自動轉化 強制轉化

js資料型別的檢測,使用typeof 變數 資料 執行結果是變數中儲存資料的資料型別。布林型別的執行結果是 boolean var bool1 true console.log typeof bool1 a.其他型別轉化為布林型別 在執行if 判斷時,其他資料型別會自動轉化為布林型別。a 原則 轉化...

資料型別 之 自動轉化與強制轉化

資料型別大體分為兩種,一種是基本資料型別 也叫標準資料型別或簡單資料型別 一種是引用資料型別 也叫複雜資料型別 基本資料型別中又分為 布林型 數值型 字串型 undefined和null,而引用資料型別中又分為 陣列 物件和函式。變數中儲存的資料型別沒有限制,可以儲存任何符合語法規範的資料型別。要想...

資料型別轉化

自己寫的,可能有某些bug,希望大家提出來 函式介紹 進製轉換 函式說明 10進製轉換16進製制 輸入引數 需要轉換的10進製數data 輸出引數 無 int value convert 10 16 int m data return m value 函式介紹 數值轉換 函式說明 對大於10的數進行...