Heim  >  Artikel  >  Web-Frontend  >  Typ-Operator- und Konstruktor-Attributerkennung in Javascript_Javascript-Fähigkeiten

Typ-Operator- und Konstruktor-Attributerkennung in Javascript_Javascript-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 16:12:521171Durchsuche

*#type.js

复制代码 代码如下:

Funktion Person(Name, Alter) {
 this.name = name;
 this.age = Alter;
}
var d = {an: 'object'};
var a = ['Apfel', 'Banane'];
var f = function() {};
var s = 'David';
var n = 33;
var b = true;
var o = new Object();
var person = neue 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得

复制代码 代码如下:

Objekt:   function Object() { [nativer Code] }
Objekt:   function Array() { [nativer Code] }
Funktion: function Function() { [nativer Code] }
string:   function String() { [nativer Code] }
Nummer:   Funktion Number() { [nativer Code] }
boolean:  function Boolean() { [nativer Code] }
Objekt:   function Object() { [nativer Code] }
Objekt:   function Person() { [nativer Code] }

可见, 使用typeof操作符和constucor属性检测对象类型返回值是存在差异的.

如果变量是数组, Typ des Objekts, Konstruktor und Array;
如果变量是构造函数对象, Typ des 操作符返回Objekts, Konstruktor属性返回该构造函数
每个变量都有其construcor属性, 这个属性不单单提供了这个是否对象, 还提供了这个对象是什么类型的对象. 总之, Konstruktor属性保存了一个指向对象的构造函数, 无论它是自定义的还是原生类型的对象.

有一点需要注意的是, 不同的浏览器对typeof操作符检测正则表达式会有所不同, IE和Firefox会返回'object '.

好了,今天内容就先到这里了,小伙伴们如有疑问,就在下方留言吧.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn