首页 > 软件操作教程 > 编程开发 > JavaScript
题目内容

JavaScript 使用 constructor

题目答案

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条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

软件操作 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

相关视频试题

最需教育客户端 软件问题一手掌握

去 App Store 免费下载 iOS 客户端