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 方法

Artikel Panas

Alat panas Tag

Artikel Panas

Tag artikel panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk menggunakan 'penunjuk kelas asas' dan 'penunjuk kelas terbitan' dalam warisan?

Bagaimanakah warisan dan polimorfisme mempengaruhi gandingan kelas dalam C++?

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP

Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk menyahpepijat ralat dalam warisan?

Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah

Warisan fungsi C++ menjelaskan: Bilakah warisan tidak boleh digunakan?

Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk memahami hubungan 'is-a' dan 'has-a' dalam warisan?

'Pengenalan kepada Pengaturcaraan Berorientasikan Objek dalam PHP: Dari Konsep kepada Amalan'
