重慶分公司,新征程啟航
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
為企業(yè)提供網(wǎng)站建設(shè)、域名注冊(cè)、服務(wù)器等服務(wù)
小編給大家分享一下JS如何判斷數(shù)據(jù)類型,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名申請(qǐng)、虛擬空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、臨淄網(wǎng)站維護(hù)、網(wǎng)站推廣。JS判斷數(shù)據(jù)類型的方法有:typeof方法用于返回該類型的字符串形式,instanceof方法用來判斷原型,constructor方法以及Object.prototype.toString 方法
方法一:typeof方法
typeof 是一個(gè)操作符,右側(cè)是一個(gè)一元表達(dá)式,并返回這個(gè)表達(dá)式的數(shù)據(jù)類型。返回的結(jié)果用該類型的字符串的形式表示,包括:number、boolean、symbol、string、object、undefined、function 等。
返回值分以下幾種類型:
對(duì)于基本類型。除了null值返回object以外,其他均返回正確的結(jié)果
對(duì)于引用值來說,除了function返回function類型,其他都返回object類型
例:
效果圖:
方法二:instanceof方法
instanceof 是用來判斷 A 是否為 B 的實(shí)例,表達(dá)式為:A instanceof B,如果 A 是 B 的實(shí)例,則返回 true,否則返回 false。 在這里需要特別注意的是:instanceof 檢測(cè)的是原型。
返回的結(jié)果:true
方法三:constructor方法
當(dāng)一個(gè)函數(shù)被定義時(shí),JS引擎會(huì)為它添加 prototype 原型,然后再在 prototype上添加一個(gè) constructor 屬性,并讓其指向該函數(shù)的引用。
當(dāng)執(zhí)行 var f = new F() 時(shí),F(xiàn)被當(dāng)成了構(gòu)造函數(shù),f 是F的實(shí)例對(duì)象,此時(shí) F 原型上的 constructor 傳遞到了 f 上,因此 f.constructor == F
方法四:Object.prototype.toString 方法
toString是Object原型對(duì)象上的一個(gè)方法,該方法默認(rèn)返回其調(diào)用者的具體類型,更嚴(yán)格的講,是 toString運(yùn)行時(shí)this指向的對(duì)象類型, 返回的類型格式為[object,xxx],xxx是具體的數(shù)據(jù)類型,其中包括:String,Number,Boolean,Undefined,Null,F(xiàn)unction,Date,Array,RegExp,Error,HTMLDocument等等都可以通過這個(gè)方法獲取到。
console.log(Object.prototype.toString.call(num)); console.log(Object.prototype.toString.call('')) ; console.log(Object.prototype.toString.call(1)) ; console.log(Object.prototype.toString.call(true)) ; console.log(Object.prototype.toString.call(null)) ; console.log(Object.prototype.toString.call(new Function()) ); console.log(Object.prototype.toString.call(new Date())) ; console.log(Object.prototype.toString.call([])) ; console.log(Object.prototype.toString.call(document)) ; console.log(Object.prototype.toString.call(window) );
效果圖:
看完了這篇文章,相信你對(duì)JS如何判斷數(shù)據(jù)類型有了一定的了解,想了解更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)網(wǎng)站制作公司行業(yè)資訊頻道,感謝各位的閱讀!