Rumah hujung hadapan web tutorial js JavaScript中继承的一些示例方法与属性参考_javascript技巧

JavaScript中继承的一些示例方法与属性参考_javascript技巧

May 16, 2016 pm 06:21 PM
javascript mewarisi

prototype 属性的作用:
利用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 方法
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk menggunakan 'penunjuk kelas asas' dan 'penunjuk kelas terbitan' dalam warisan? Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk menggunakan 'penunjuk kelas asas' dan 'penunjuk kelas terbitan' dalam warisan? May 01, 2024 pm 10:27 PM

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++? Bagaimanakah warisan dan polimorfisme mempengaruhi gandingan kelas dalam C++? Jun 05, 2024 pm 02:33 PM

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

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP Jan 05, 2024 pm 06:08 PM

Tutorial JavaScript Mudah: Cara Mendapatkan Kod Status HTTP

Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk menyahpepijat ralat dalam warisan? Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk menyahpepijat ralat dalam warisan? May 02, 2024 am 09:54 AM

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

Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Bagaimana untuk mendapatkan kod status HTTP dalam JavaScript dengan cara yang mudah Jan 05, 2024 pm 01:37 PM

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

Warisan fungsi C++ menjelaskan: Bilakah warisan tidak boleh digunakan? Warisan fungsi C++ menjelaskan: Bilakah warisan tidak boleh digunakan? May 04, 2024 pm 12:18 PM

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? Penjelasan terperinci tentang warisan fungsi C++: Bagaimana untuk memahami hubungan 'is-a' dan 'has-a' dalam warisan? May 02, 2024 am 08:18 AM

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' 'Pengenalan kepada Pengaturcaraan Berorientasikan Objek dalam PHP: Dari Konsep kepada Amalan' Feb 25, 2024 pm 09:04 PM

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

See all articles