本文共 631 字,大约阅读时间需要 2 分钟。
1.任何函数都具有一个 prototype
属性,该属性是一个对象
prototype
对象默认都有一个 constructor
属性,指向 prototype
对象所在函数 3.通过构造函数得到的实例对象内部会包含一个指向构造函数的 prototype
对象的指针 `proto 4.所有实例都直接或间接继承了原型对象的成员
构造函数、实例、原型三者之间的关系
1.共享数组
2.共享对象
3.如果真的希望可以被实例对象之间共享和修改这些共享数据那就不是问题。但是如果不希望实例之间共享和修改这些共享数据则就是问题。
4.一个更好的建议是,最好不要让实例之间互相共享这些数组或者对象成员,一旦修改的话会导致数据的走向很不明确而且难以维护。
5.原型对象使用建议
1私有成员(一般就是非函数成员)放到构造函数中
2共享成员(一般就是函数)放到原型对象中
3如果重置了 prototype
记得修正 constructor
的指向
程序中的继承–一个对象从另一个对象那里得到属性/方法。
继承的实现:
1.构造函数的[属性]继承—call()方法–从构造函数中继承到构造函数的属性和方法
构造函数的名称.call(this,…)
2.构造函数的[原型方法]继承:拷贝继承(for-in)
3.原型继承
继承
转载地址:http://hbzwb.baihongyu.com/