一运提、js中的數(shù)據(jù)類型:基本數(shù)據(jù)類型 和 復(fù)雜數(shù)據(jù)類型
基本(簡(jiǎn)單)數(shù)據(jù)類型:
string
字符串
number
數(shù)值(正數(shù)和浮點(diǎn)數(shù))
boolean
布爾值(true和false)
null
空(對(duì)象)
undefined
未定義
復(fù)雜(復(fù)合)數(shù)據(jù)類型:
Object
對(duì)象(js中所有的復(fù)雜數(shù)據(jù)類型都是基于object)
Array
數(shù)組
Date
日期
Function
函數(shù)
RegExp
正則表達(dá)式
String
字符串對(duì)象(基本包裝類型)
Number
數(shù)值對(duì)象
Boolean
布爾值對(duì)象
二蝗柔、判斷數(shù)據(jù)類型
關(guān)鍵字:
typeof
語(yǔ)法:typeof
數(shù)據(jù)(變量)
結(jié)果:
typeof
字符串string
typeof
數(shù)值number
typeof
true/falseboolean
typeof
undefinedundefined
typeof
nullobject
typeof
functionfunction
typeof
復(fù)雜數(shù)據(jù)類型object
(除了function
)
-
關(guān)于typeof的注意點(diǎn):
-
typeof
本身是操作符不是函數(shù) -
typeof
本身有返回值,返回值的類型是string
-
-
什么情況下變量的值為undefined和null民泵?
- 聲明了變量癣丧,但是從來(lái)沒(méi)有賦過(guò)值,此時(shí)打印變量的值為undefined
- 變量的值永遠(yuǎn)不會(huì)為null洪灯,除非手動(dòng)給變量賦值為null
-
為什么我們需要把變量的值設(shè)置為null坎缭?
- 當(dāng)不用變量的時(shí)候,將變量置為null签钩,告訴系統(tǒng)回收存儲(chǔ)此變量的內(nèi)存空間(js的垃圾回收機(jī)制)
示例
var str = "string";
var num = 10;
var boolT = true;
console.log(typeof str); // 打印出來(lái)的類型為:string
console.log(typeof num); // 打印出來(lái)的類型為:number
console.log(typeof boolT); // 打印出來(lái)的類型為:boolean
var un;
console.log(un); // 打印出來(lái)的值為:undefeind
console.log(typeof un); // 打印出來(lái)的類型為:undefeind
var unT = null;
console.log(unT); // 打印出來(lái)的值為:null
console.log(typeof unT); // 打印出來(lái)的類型為:object
var arr = [1,2,3];
console.log(typeof arr); // 打印出來(lái)的類型為:object
var date = new Date();
console.log(typeof date); // 打印出來(lái)的類型為:object
var obj = {};
console.log(typeof obj); // 打印出來(lái)的類型為:object
console.log(typeof function () {
}); // 打印出來(lái)的類型為:function