Heim > Web-Frontend > js-Tutorial > Hauptteil

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

WBOY
Freigeben: 2016-05-16 18:21:42
Original
1005 Leute haben es durchsucht
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 方法
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage