如何判斷js中對象的類型

1.typeof 形如 var x = "xx"; typeof x == 'string' typeof(x);
返回類型有:'undefined' “string” 'number' 'boolean' 'function' 'object'
優(yōu)點:對空null的判斷 'undefined'的應(yīng)用
缺點:對于object類型不能細(xì)分是什么類型

2.instanceof 形如 var d = new String('test'); d instanceof String ==true;
返回的類型有:String Number Boolean Function Object Array Date
優(yōu)點:能區(qū)分出更細(xì)的類型如 Date Array 如 var num = 3; num instanceof Number 能返回具體的類型
缺點:直變量不能區(qū)分 必須采用new 的對象

3.constructor 形如:var x = []; x.constructor==Array;
優(yōu)點:可以返回繼承的類型
缺點: 不能對象的細(xì)分,如繼承 必須手動修正

4.Object.prototype.toString.call();
優(yōu)點:通用,返回"[objectString]" 具體object的類型
缺點:不能返回繼承的類型

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 第一章: JS簡介 從當(dāng)初簡單的語言,變成了現(xiàn)在能夠處理復(fù)雜計算和交互,擁有閉包、匿名函數(shù), 甚至元編程等...
    LaBaby_閱讀 1,751評論 0 6
  • 引用類型的值(對象)是引用類型的一個實例。創(chuàng)建一個引用類型實例需要用new操作符后跟一個構(gòu)造函數(shù)來創(chuàng)建。構(gòu)造函數(shù)本...
    惶惶不安的青年閱讀 593評論 13 2
  • 第三章 基本概念 3.1 語法 ECMAScript標(biāo)識符一般采用駝峰大小寫格式,也就是第一個字母小寫,剩下的每個...
    小雄子閱讀 655評論 0 1
  • 活,有幾個是真開心的活,解脫的那一瞬,或許開心?也未必吧!其實看看“活”這個字,三水一舌。水,河、湖、海嗎?舌,一...
    Icetric冰介閱讀 423評論 1 1
  • 每天眼睜睜看著時光流逝,卻沒有能力去挽留,哪怕是那么一點點也好。我也不經(jīng)意間快到而立之年,除了一聲感嘆外,卻發(fā)現(xiàn)自...
    帥之平閱讀 249評論 0 0

友情鏈接更多精彩內(nèi)容