位置:首页 > 软件操作教程 > 编程开发 > JavaScript > 问题详情

JavaScript 使用 constructor

提问人:刘团圆发布时间:2020-11-23

constructor是Object类型的原型属性,它能够返回当前对象的构造器(类型函数)。利用该属性,可以检测复合型数据的类型,如对象、数组和函数等。

■实例设计

【示例1】下面的代码可以检测对象和数组的类型,可以用于过滤对象、数组。

var o = {}; 

var a = [];

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

if (a. constructor == Array) document • write ("a 是数组");

结合typeof运算符和constructor原型属性,可以检测不同类型的数据,常用数据类型的检测结果如表所示。

(value)

typeof value (表达式返回值)

value.constructor (构造函数的属性值)

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属性,不能够直接读取,否则会抛出异常。因此,一般应先检测值是否为undefined和null等特殊值,然后再调用constructor属性。

var value = undefined;

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

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

"返回 undefined

//返回null

数值直接量也不能直接读取constructor属性,应该先把它转换为对象再调用。

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

//抛出异常

//返回Number类型

//返回Number类型


继续查找其他问题的答案?

相关视频回答
回复(0)
返回顶部