typeof运算符和Javascriptconstucor属性检测

* # type.js

复制代码代码如下所示:

功能人(姓名,年龄){

this.name =名称;

this.age =年龄;

}

var a {一}:'object;

var a = { 'apple ','banana};

Var(f =函数){ };

var = 'david;

var = 33;

var =真的;

新对象();

无功的人=新的人(马克',22);

console.log(typeof(D)+:+ d.constructor);

console.log(typeof()+:+ a.constructor);

console.log(typeof(F)+:+ f.constructor);

console.log(typeof()+:+ s.constructor);

console.log(typeof(N)+:+ n.constructor);

console.log(typeof(B)+:+ b.constructor);

console.log(typeof(O)+:+ o.constructor);

console.log(typeof(人)+:+人。构造函数);



运行节点type.js美元

复制代码代码如下所示:

对象:函数对象(){本地代码}

对象:函数数组(){本地代码}

函数:函数(){本地代码}

函数字符串(){本地代码}

编号:函数编号(){本地代码}

布尔函数:布尔(){本地代码}

对象:函数对象(){本地代码}

对象:功能人(){本地代码}



可以看出,有使用typeof运算符和constucor属性检测对象类型的返回值之间的差。

如果变量是一个数组,typeof运算符返回的对象,和构造函数属性返回的数组;

如果变量是一个函数对象,typeof运算符返回的对象,并返回构造函数构造函数属性

每个变量都有其construcor属性,该属性不仅提供了对象,也提供了对象是什么类型的对象。简而言之,构造函数属性拥有对对象的构造函数,不管它是自定义对象还是本机类型。

有一点要注意的是,不同的浏览器会有不同类型的算子的正则表达式,与IE和Firefox将返回to'object。

好的,今天的内容在这里。如果您有任何问题,请在下面留言。