javascript中的constructor
1. 使用constructor
constructor是Object类型的原型属性,它能够返回当前对象的构造器(类型函数)。利用该属性,可以检测是否复合类型数据的类型,如对象,数组和函数等。
var
o = {};
var
a = [];
if
(o.constructor == Object){
console.log(
"o是对象"
)
}
if
(a.constructor == Array){
console.log("a是数组“)
}
结合typeof运算符和constuctor属性,可以检测不同的数据类型。以下是常见的数据类型检测结果。
值(value) | typeof value(表达式返回值) | value.constructor(构建函数的属性值) |
var value =1 | “number" | Number |
var value ="a" | "string" | String |
var value | "boolean" | Boolean |
var value = {} | "object" | Object |
var value = new Object() | "object" | Object |
var value = [] | "object" | Array |
var value = new Array() | "object" | Array |
var value = function90{} | "function" | Function |
function className(){}; var value = new className(); |
"object" | className |