欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

javaScript原型继承日记

程序员文章站 2022-06-15 14:55:42
...

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的一个属性.