首页  >  文章  >  web前端  >  JavaScript中继承的一些示例方法与属性参考_javascript技巧

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

WBOY
WBOY原创
2016-05-16 18:21:421002浏览
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 方法
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn