JS強制型別轉換總結

2021-10-01 04:39:11 字數 2278 閱讀 4256

在js中資料型別的劃分有兩種方法,一種官方給出的標準劃分,還有一種是根據 typeof 運算子來進行劃分,並且兩種劃分還略有不同

string 字串, 在 js 中放在一對引號中的 0 到 多個字元,我們就認定它是個字串

boolean 布林值, true 和 false

undefined 未定義

symbol es6新增型別 symbol的例項是唯一且匿名的如下列:

復合型別(複雜型別)

typeof 操作符,會返回乙個表示資料型別的字串。在 typeof 劃分中 js 一共被劃分成了 7 種資料型別:number、string、boolean、undefined、symbol、object、function。這裡要注意 typeof 劃分和 標準中定義的區別。typeof 中把 null 歸為了 object 型別,但是把 function 單拎出來變成了一種型別

typeof 具體使用方法可以檢視以下示例

```

var num = 1;

console.log(typeof num);//number

var num2 = nan;

console.log(typeof num2);//number

var str = "miaov";

console.log(typeof str);//string

var is = true;

console.log(typeof is);//boolean

var u;

console.log(typeof u);//undefined

var fn = function()

console.log(typeof fn);//function

var obj = {};

console.log(typeof obj);//object

var n = null;

console.log(typeof n);//object

var id = symbol();

console.log(typeof id);//symbol

```

布林值型別,使用 number() 轉換時,true 返回 1,false 返回 0

null,使用 number() 轉換時 返回 0

undefined,使用 number() 轉換時 返回 nan

symbol, 使用 number() 轉換時 直接報錯

物件型別,使用 number() 轉換時,會先呼叫物件的 valueof 方法,然後呼叫的物件的tostring()方法,然後再次依照前面字串的轉換規則進行轉換

parseint(string, radix) 方法,將資料轉換為整數返回

var a = 12.2;

console.log(parseint(a));// 12

var b = "12abc";

console.log(parseint(b));// 12

var c = "a12bc";

console.log(parseint(c));// nan

var d = "";

console.log(parseint(d));// nan

關於 基數 的注意事項, 在使用 parseint 的時候,最好設定一下基數,雖然大部分情況下 parseint 會 按照十進位制識別我們傳入的資料,但是一些特殊的情況下,還是會出問題,示例如下:

var a = '0xf';

console.log(parseint(a));// 15 這裡因 0x是16進製制的字首所以這裡識別成了 16 進製的資料,轉換結果為 15

var b = "070";

console.log(parseint(b));// 新版本為 70,老版本部分瀏覽器 會識別成 56 因為 0是 八進位制的標示,這裡按照了八進位制進行了處理

parsefloat(string) 轉換成浮點數(也就是小數),轉換規則和parseint類似,唯一的區別就是parsefloat可以多轉換乙個小數點

string(val) 轉換成字串

boolean(val) 轉換成布林值

前邊我們用到了很多 nan,那 nan 到底是什麼呢?nan 是 js 中乙個很特殊的值, nan 是 not a number 的簡寫,從字面上來看就是這不是乙個數字,但是 nan 的資料型別,是屬於數字型別的,這就有些好玩了,簡單的來說,nan 是指 資料型別是數字,但是本身內容又不屬於合法數字的資料

JS 型別轉換 強制型別轉換

js 型別轉換 強制型別轉換 一 parseint 將其他型別轉換成number型別的整數 注意 string number 1 字串中值的首字元必須是數字,轉換後才能得到具體的值 否則得到nan 2 只轉換從首字元開始的連續數字 如 2b345 轉換後只得到2 3 除了string,其他型別轉換後...

js強制型別轉換

值型別轉換 包括兩種 顯式轉換和隱式轉換。將值從一種型別轉換為另外一種型別稱為型別轉換,也叫做顯式型別轉換,隱式的情況也叫做強制型別轉換。在js中兩種轉換被統稱為強制型別轉換。其實,對於顯式和隱式沒有很明確的界定,如果你不知道某種情況是一種顯式型別轉換,那麼它對於你來講就是隱式的。抽象值操作 顯示強...

JS 強制型別轉換

number string var number 8 var str string number console.log typeof str 複製 boolean string var boolean true var str string boolean console.log typeof s...