位置:首頁 > 軟件操作教程 > 編程開發(fā) > JavaScript > 問題詳情

JavaScript 使用 constructor

提問人:劉團圓發(fā)布時間:2020-11-23

constructor是Object類型的原型屬性,它能夠返回當(dāng)前對象的構(gòu)造器(類型函數(shù))。利用該屬性,可以檢測復(fù)合型數(shù)據(jù)的類型,如對象、數(shù)組和函數(shù)等。

■實例設(shè)計

【示例1】下面的代碼可以檢測對象和數(shù)組的類型,可以用于過濾對象、數(shù)組。

var o = {}; 

var a = [];

if (o. constructor == Object) document .write ("o是對象"); 

if (a. constructor == Array) document ? write ("a 是數(shù)組");

結(jié)合typeof運算符和constructor原型屬性,可以檢測不同類型的數(shù)據(jù),常用數(shù)據(jù)類型的檢測結(jié)果如表所示。

(value)

typeof value (表達式返回值)

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


【示例2】undefined和nuir沒有constructor屬性,不能夠直接讀取,否則會拋出異常。因此,一般應(yīng)先檢測值是否為undefined和null等特殊值,然后再調(diào)用constructor屬性。

var value = undefined;

console.log(value && value.constructor); var value = null;

console.log(value && value.constructor);

"返回 undefined

//返回null

數(shù)值直接量也不能直接讀取constructor屬性,應(yīng)該先把它轉(zhuǎn)換為對象再調(diào)用。

console.log(10.constructor); console.log((10).constructor); console.log(Number(10).constructor);

//拋出異常

//返回Number類型

//返回Number類型


繼續(xù)查找其他問題的答案?

相關(guān)視頻回答
回復(fù)(0)
返回頂部