javaScript原型继承日记

2016-07-01  本文已影响24人  _palm

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

上一篇下一篇

猜你喜欢

热点阅读