* # type.js
复制代码代码如下:
Personne de fonction (nom, âge) {
this.name = name;
this.age = âge;
}
var d = {an: 'objet'};
var a = [«pomme», «banane»];
var f = function () {};
var s = 'david';
var n = 33;
var b = true;
var o = nouvel objet ();
var personne = new personne ('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.Contructor);
console.log (typeof (o) + ':' + o.Constructor);
console.log (typeof (personne) + ':' + personne.Constructor);
运行 $ nœud type.js 得
复制代码代码如下:
objet: fonction objet () {[code natif]}
objet: array de fonction () {[code natif]}
Fonction: fonction fonction () {[code natif]}
String: fonction string () {[code natif]}
Numéro: Numéro de fonction () {[code natif]}
booléen: fonction boolean () {[code natif]}
objet: fonction objet () {[code natif]}
objet: fonction de fonction () {[code natif]}
可见, 使用 Typeof 操作符和 Consttuor 属性检测对象类型返回值是存在差异的.
如果变量是数组, typeof 操作符返回 objet, constructeur 属性返回 Array;
如果变量是构造函数对象, typeof 操作符返回 objet, constructeur 属性返回该构造函数
每个变量都有其 Construcor 属性, 这个属性不单单提供了这个是否对象, 还提供了这个对象是什么类型的对象. 总之, constructeur 属性保存了一个指向对象的构造函数, 无论它是自定义的还是原生类型的对象.
有一点需要注意的是, 不同的浏览器对 Typeof 操作符检测正则表达式会有所不同, c'est-à-dire 和 Firefox 会返回 'objet'.
好了 , 今天内容就先到这里了 , 小伙伴们如有疑问 , 就在下方留言吧。