javascript new后的constructor属性_js面向对象
May 16, 2016 pm 06:21 PMjs对象生成时:
如:function BB(a){
this.a="kkk"
}
var b=new BB();
这时b是对象有了BB的的属性prototype所指向的prototype对象;
prototype对象有constructor属性指向BB这个函数;
所以alert(b.constructor==BB.prototype.constructor) //true
这里的“有了”的执行过程是先查看b有没有此属性让后去查看prototype里的属性值,不是简单的A=B:
如添加:b.constructor="ccc";
执行:alert(b.constructor==BB.prototype.constructor) //false; BB.prototype.constructor仍然是BB函数;
看一下taobao的kissy的继承:
O = function (o) {
function F() {
}
F.prototype = o;
return new F();
},
sp = s.prototype,
rp = O(sp);
r.prototype = rp;
//alert(r.prototype.constructor==sp.constructor)
rp.constructor = r;
//alert(r.prototype.constructor==sp.constructor)
r.superclass = sp;
刚开始理解错了,不明白一直这样来回空调用

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Wie kann der Konstruktor einer Klasse durch Constructor Property Promotion in PHP8 vereinfacht werden?

So verwenden Sie das neue Schlüsselwort in Java

Oukitel bringt neue C50-, robuste WP39- und WP50-Smartphones zu budgetfreundlichen Preisen auf den Markt

Wie funktioniert der neue Operator in js?

Was ist der Unterschied zwischen make und new in der Go-Sprache?

Wie behebt man den C++-Kompilierungsfehler: „Klasse ‚Klassenname' verfügt nicht über einen Konstruktor mit Parametern'?

Wie verwende ich die clone()-Methode in Java anstelle des neuen Schlüsselworts?

Die neue GFX-Kamera mit festem Objektiv von Fujifilm stellt den neuen Mittelformatsensor vor und könnte den Auftakt einer völlig neuen Serie geben
