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。
好的,今天的内容在这里。如果您有任何问题,请在下面留言。