js中的原型理解方式
原型是一个对象,所以对象都有原型,任何一个对象也都可以成为其他对象的原型.
js中函数也是对象,所以函数也有原型,器原型和对象一样,可以通过Object.getPrototypeof()
原型是一个对象,其他对象可以通过它实现属性继承 可以通过 Object。prototype.filed 实现继承
原型对象的属性一旦定义,就可以被多个引用它的实例所继承, 含义是这样的 function say(){}; var sayinstance = new say();
首先,javascript并没有在构造函数和其他函数之间做区分,所以说每个函数都有一个原型属性。反过来,如果不是函数,将不会有这样一个属性,所哟 sayinstance没有这样一个属性,如果要访问原型属性只能通过sayinstance.constructor.prototype来访问。
也可以 通过 _proto_来访问对象的原型属性,还可以通过Object.getPrototypeof(object)来访问 (这个是对象访问原型属性的访问)
函数访问原型属性的方式 .prototype来访问; 可以通过这个来实现继承。
任何一个对象都可以成为原型 我们是通过原型链来找对象的属性
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的 错误!!!