js中的原型理解方式

    原型是一个对象,所以对象都有原型,任何一个对象也都可以成为其他对象的原型.

js中函数也是对象,所以函数也有原型,器原型和对象一样,可以通过Object.getPrototypeof()

 

原型是一个对象,其他对象可以通过它实现属性继承    可以通过 Object。prototype.filed  实现继承

 

原型对象的属性一旦定义,就可以被多个引用它的实例所继承,  含义是这样的  function  say(){};  var sayinstance  = new say();

首先,javascript并没有在构造函数和其他函数之间做区分,所以说每个函数都有一个原型属性。反过来,如果不是函数,将不会有这样一个属性,所哟 sayinstance没有这样一个属性,如果要访问原型属性只能通过sayinstance.constructor.prototype来访问。

也可以 通过 _proto_来访问对象的原型属性,还可以通过Object.getPrototypeof(object)来访问  (这个是对象访问原型属性的访问)

 

函数访问原型属性的方式 .prototype来访问; 可以通过这个来实现继承。

 js中的原型理解方式_第1张图片

 任何一个对象都可以成为原型   我们是通过原型链来找对象的属性

 function anminal()

{

   

}

//原型属性  只有函数才有prototype这个属性

    anminal.prototype.name="cat";

    function say()

{

 

}

//我要实现继承这个特性,

say.prototype = anminal; 

//say.prototype.password = "122";

var says = new say();

 

alert(says.name);

    这样写找不到 name的原因是因为  一切 函数都是Funtion的实例,anminal  通过_proto_找到的是Function的  而不是  anminal的原型   所以 says。name 会找不到  出现undifint的  错误!!!

  

 

 

 

你可能感兴趣的:(js中的原型理解方式)