JavaScript中继承的一些示例方法与属性参考_javascript技巧
May 16, 2016 pm 06:21 PM利用prototype 属性提供对象的类的一组基本功能。对象的新实例“继承”赋予该对象原型的操作。
prototype 属性的功能:
所有JavaScript 内部对象都有只读的prototype 属性。可以为内部对象的原型添加功能,但该对象不能被赋予不同的原型。
然而,用户定义的对象可以被赋给新的原型。
constructor 属性的作用:
constructor 表示创建对象的函数。
constructor 属性的功能:
constructor 属性是所有具有 prototype 的对象的成员。它们包括除 Global 和 Math 对象以外的所有 JavaScript 内部对象。
constructor 属性保存了对构造特定对象实例的函数的引用。
A 利用prototype 添加对象的属性 [ 方式一]
示例:
B 利用prototype 添加对象的属性 [ 方式二]
示例:
C 利用prototype 继承父类的原型属性
示例:
<script> <BR>function Person(_name){ <BR>this.name = _name; <BR>} <BR>//创建对象(用于更改 prototype 原型对象) <BR>function addSex(_sex){ <BR>this.sex = _sex; <BR>} <BR>//更改原型对象 <BR>Person.prototype = new addSex('男'); <BR>var p = new Person('xugang'); <BR>alert("p 的原型为:" + p.constructor); <BR>//打印所有属性 <BR>for(var i in p){ <BR>//alert(p[i]); <BR>} <br><br>// ================= 继承 ================= <BR>//创建子对象 Student <BR>function Student(_study){ <BR>this.study = _study; <BR>} <BR>// 通过 prototype 让 Student 继承 Person <BR>Student.prototype = new Person('刘德华'); <BR>var stu1 = new Student('JS'); <BR>alert("stu1 的原型为:" + stu1.constructor); <BR>for(var i in stu1){ <BR>alert(stu1[i]); <BR>} <BR></script>
因为Student 对象的原型更改为Person 对象,而Person 对象的原型更改为addSex ,所以,Student 对象的原型为addSex 。
注意:一个对象的原型是在 new 对象的那一刻确定的,如果在 new 对象以后更改无效!
D 如何设置对象的原型对象和构造函数
示例:
结果如下:
b 的构造方法:B方法
b 的原型对象的构造方法:C方法
属性:age 值:42
属性:name 值:刘德华
E 对象中用来保存原型的 __proto__ 变量
示例:
在 Firefox 中的结果如下:
[object Object]
Super_Person 方法
Super_Person 方法

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Explication détaillée de l'héritage des fonctions C++ : Comment utiliser le « pointeur de classe de base » et le « pointeur de classe dérivé » dans l'héritage ?

Comment l'héritage et le polymorphisme affectent-ils le couplage de classes en C++ ?

Tutoriel JavaScript simple : Comment obtenir le code d'état HTTP

Explication détaillée de l'héritage des fonctions C++ : Comment déboguer les erreurs d'héritage ?

Comment obtenir facilement le code d'état HTTP en JavaScript

L'héritage des fonctions C++ expliqué : Quand l'héritage ne doit-il pas être utilisé ?

Explication détaillée de l'héritage des fonctions C++ : Comment comprendre la relation « est-un » et « a-un » dans l'héritage ?

'Introduction à la programmation orientée objet en PHP : du concept à la pratique'
