JavaScript 使用 constructor
constructor是Object類(lèi)型的原型屬性,它能夠返回當(dāng)前對(duì)象的構(gòu)造器(類(lèi)型函數(shù))。利用該屬性,可以檢測(cè)復(fù)合型數(shù)據(jù)的類(lèi)型,如對(duì)象、數(shù)組和函數(shù)等。
■實(shí)例設(shè)計(jì)
【示例1】下面的代碼可以檢測(cè)對(duì)象和數(shù)組的類(lèi)型,可以用于過(guò)濾對(duì)象、數(shù)組。
var o = {};
var a = [];
if (o. constructor == Object) document .write ("o是對(duì)象");
if (a. constructor == Array) document ? write ("a 是數(shù)組");
結(jié)合typeof運(yùn)算符和constructor原型屬性,可以檢測(cè)不同類(lèi)型的數(shù)據(jù),常用數(shù)據(jù)類(lèi)型的檢測(cè)結(jié)果如表所示。
值(value) | typeof value (表達(dá)式返回值) | value.constructor (構(gòu)造函數(shù)的屬性值) |
var value = 1 | "number" | Number |
var value = Ma" | "string" | String |
var value = true | "boolean" | Boolean |
var value = {} | "object" | Object |
var value = new Object() | "object" | Object |
var value =[] | "object" | Array |
var value = new Array() | "object" | Array |
var value = function(){} | "function" | Function |
function className(){}; var value = new className(); | "object" | className |
var value = undefined; console.log(value && value.constructor); var value = null; console.log(value && value.constructor); | "返回 undefined //返回null |
數(shù)值直接量也不能直接讀取constructor屬性,應(yīng)該先把它轉(zhuǎn)換為對(duì)象再調(diào)用。 | |
console.log(10.constructor); console.log((10).constructor); console.log(Number(10).constructor); | //拋出異常 //返回Number類(lèi)型 //返回Number類(lèi)型 |
繼續(xù)查找其他問(wèn)題的答案?
- 開(kāi)始學(xué)習(xí)
海報(bào)設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)字體設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)室內(nèi)設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)影視動(dòng)畫(huà)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)UI設(shè)計(jì)精品錄播課程2121次觀(guān)看
開(kāi)始學(xué)習(xí)
點(diǎn)擊加載更多評(píng)論>>