在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...