一、js有如下:1、string類型;2、number類型;3、boolean類型;4、null類型;5、undefined類型;6、Object類型;7、Array類型;8、Function類型;9、Symbol類型。共九種數據類型。js把數據類型分為“基本數據類型”和“引用數據類型”。其中6、7 ...
一、js有如下:1、string類型;2、number類型;3、boolean類型;4、null類型;5、undefined類型;6、Object類型;7、Array類型;8、Function類型;9、Symbol類型。共九種數據類型。js把數據類型分為“基本數據類型”和“引用數據類型”。其中6、7、8為“引用數據類型”,其餘為“基本數據類型”。
二、各類型數據演示。
- number(數值類型)。不區分整數和小數
var num = 123 //聲明並給num賦值 console.log("num = ", num) //輸出num的值 var type = typeof (num) //typeof()方法可以獲取數據的類型 console.log("num的數據類型是:", type) //輸出數據類型
- string(字元串類型)。
var str = "string" console.log("str = ", str) var type = typeof (str) console.log("str的數據類型是:", type)
- boolean(布爾類型)
var bl = true console.log("bl = ", bl) var type = typeof (bl) console.log("bl的數據類型是:", type)
- null(空類型)
var bl = null console.log("bl = ", bl) var type = typeof (bl) console.log("bl的數據類型是:", type)
上述typeof(bl)為object的原因:js的數據類型底層存儲在二進位時,如下表示:
- (1) 000:對象,數據是對象的應用。
- (2) 1:整型,數據是31位帶符號整數。
- (3) 010:雙精度類型,數據是雙精度數字。
- (4) 100:字元串,數據是字元串。
- (5) 110:布爾類型,數據是布爾值。
null的二進位表示為全“0”,故,typeof()方法會誤以為null也為object類型。
參考鏈接:https://blog.csdn.net/qq_45806781/article/details/118437729 - undefined(未定義類型)
var ud = undefined console.log("ud = ", ud) var type = typeof (ud) console.log("ud的數據類型是:", type)
- Object(對象類型)。此類型內可包含所有數據類型。
var obj = { num : 123, //數值型 str : 'str', //字元串型 bl : false, //布爾型, arr : [1,2,3], //數組型 nu : null, //空類型 ud : undefined //未定義類型 } console.log("obj = ", obj) var type = typeof (obj) console.log("obj的數據類型是:", type)
- Array(數組類型)此類型內可包含所有數據類型。
var arr = [{ num : 123, //數值型 str : 'str', //字元串型 bl : false, //布爾型, nu : null, //空類型 ud : undefined //未定義類型 }, 123,'str',true,null,undefined] console.log("arr = ", arr) var type = typeof (arr) console.log("arr的數據類型是:", type)
此處arr的類型顯示object的原因類似typeof(null)。