小編給大家分享一下JS如何判斷數(shù)據(jù)類型,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、外貿(mào)營銷網(wǎng)站建設(shè)、濟(jì)陽網(wǎng)絡(luò)推廣、成都小程序開發(fā)、濟(jì)陽網(wǎng)絡(luò)營銷、濟(jì)陽企業(yè)策劃、濟(jì)陽品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供濟(jì)陽建站搭建服務(wù),24小時服務(wù)熱線:18980820575,官方網(wǎng)址:chinadenli.net
JS判斷數(shù)據(jù)類型的方法有:typeof方法用于返回該類型的字符串形式,instanceof方法用來判斷原型,constructor方法以及Object.prototype.toString 方法
方法一:typeof方法
typeof 是一個操作符,右側(cè)是一個一元表達(dá)式,并返回這個表達(dá)式的數(shù)據(jù)類型。返回的結(jié)果用該類型的字符串的形式表示,包括:number、boolean、symbol、string、object、undefined、function 等。
返回值分以下幾種類型:
對于基本類型。除了null值返回object以外,其他均返回正確的結(jié)果
對于引用值來說,除了function返回function類型,其他都返回object類型
例:
<script type="text/javascript"> var a = "string"; console.log(a); //string var a = 1; console.log(typeof a); //number var a = false; console.log(typeof a); //boolean var a; console.log(typeof a); //undfined var a = null; console.log(typeof a); //object var a = document; console.log(typeof a); //object var a = []; console.log(a); //[] var a = function() {}; console.log(typeof a) //function </script>
效果圖:
方法二:instanceof方法
instanceof 是用來判斷 A 是否為 B 的實(shí)例,表達(dá)式為:A instanceof B,如果 A 是 B 的實(shí)例,則返回 true,否則返回 false。 在這里需要特別注意的是:instanceof 檢測的是原型。
<script type="text/javascript"> var a=[]; console.log(a instanceof Array) </script>
返回的結(jié)果:true
方法三:constructor方法
當(dāng)一個函數(shù)被定義時,JS引擎會為它添加 prototype 原型,然后再在 prototype上添加一個 constructor 屬性,并讓其指向該函數(shù)的引用。
當(dāng)執(zhí)行 var f = new F() 時,F(xiàn)被當(dāng)成了構(gòu)造函數(shù),f 是F的實(shí)例對象,此時 F 原型上的 constructor 傳遞到了 f 上,因此 f.constructor == F
方法四:Object.prototype.toString 方法
toString是Object原型對象上的一個方法,該方法默認(rèn)返回其調(diào)用者的具體類型,更嚴(yán)格的講,是 toString運(yùn)行時this指向的對象類型, 返回的類型格式為[object,xxx],xxx是具體的數(shù)據(jù)類型,其中包括:String,Number,Boolean,Undefined,Null,F(xiàn)unction,Date,Array,RegExp,Error,HTMLDocument等等都可以通過這個方法獲取到。
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) );
效果圖:
看完了這篇文章,相信你對JS如何判斷數(shù)據(jù)類型有了一定的了解,想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站欄目:JS如何判斷數(shù)據(jù)類型
文章起源:http://chinadenli.net/article22/giejcc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、關(guān)鍵詞優(yōu)化、軟件開發(fā)、手機(jī)網(wǎng)站建設(shè)、網(wǎng)站收錄、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)