javaScript原型继承日记

javaScript 中,'一切皆对象' ! 所有对象都有一个隐藏属性__proto__ 通过这个可以获取其对象的原型对象,也经常有人把__proto__叫作 隐藏原型属性. 它指向对象的构造函数的原型对象。 如下代码:

function A() {
  //
}
var a = new A() ;
console.log(a.__proto__) ; // Function.prototype

var obj = {
    attr:'xxx'
}
console.log(obj.__proto__) ; //Object.prototype

Function除了有__proto__属性外,还有一个prototype属性,这是一个指针,指向方法或者对象的的原型对象。它包含对象共用的方法,类似java中的类方法,在javaScript中的继承就是通过这个来实现的, 我们可以通过改变某一个对象的的原型来实现继承,如果某一个对象的原型被改变了,则这个对象就拥有了这个原型上的所有方法,这就是所谓的继承,这里需要注意的是另一个属性constructor,该属性指向对象的构造方法, 如上aconstructor只想函数A 。当我们改变了对象的原型,同时需要修正其constructor. 这个 constructorprototype的一个属性.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容