*#type.js
复制代码代码如下:
関数担当者(名前、年齢){
this.name = name;
this.age = age;
}
var d = {an: 'object'};
var a = ['apple'、 'banana'];
var f = function(){};
var s = 'david';
var n = 33;
var b = true;
var o = new object();
var person = new person( 'mark'、22);
console.log(typeof(d) + ':' + d.constructor);
console.log(typeof(a) + ':' + a.constructor);
console.log(typeof(f) + ':' + f.constructor);
console.log(typeof(s) + ':' + s.constructor);
console.log(typeof(n) + ':' + n.constructor);
console.log(typeof(b) + ':' + b.constructor);
console.log(typeof(o) + ':' + o.constructor);
console.log(typeof(person) + ':' + person.constructor);
运行$ node type.js得
复制代码代码如下:
オブジェクト:function object(){[ネイティブコード]}
オブジェクト:function array(){[ネイティブコード]}
関数:関数関数(){[ネイティブコード]}
文字列:function string(){[ネイティブコード]}
番号:function number(){[ネイティブコード]}
boolean:function boolean(){[ネイティブコード]}
オブジェクト:function object(){[ネイティブコード]}
オブジェクト:function person(){[ネイティブコード]}
可见、使用タイプof constucor属性检测对象类型返回值是存在差异的。
如果变量是数组、typeof操作符返回オブジェクト、コンストラクターArray;
如果变量是构造函数对象、typeof操作符返回オブジェクト、コンストラクター属性返回该构造函数
每个变量都有其コンシンコ、这个属性不单单提供了这个是否对象、还提供了这个对象是什么类型的对象。 总之、コンストラクター属性保存了一个指向对象的构造函数、无论它是自定义的还是原生类型的对象。
有一点需要注意的是、不同的浏览器对、typeof操作符检测正则表达式会有所不同、すなわち、firefox 'オブジェクト'。
好了、今天内容就先到这里了、小伙伴们如有疑问、就在下方留言吧。