javascript中prototype属性是几位重要的一个部分,可以说如果你没有认真的研究过函数的prototype对象那么你还不算真正进入javascript的大门。
当函数创建之后,就会随之产生一个函数的原型,这个函数通过prototype属性来指向它自己的原型
/*
* 以下是prototype的演示,通过prototype属性来指定可以
* 将对象的属性良好的封装,通过window对象不能访问的
*/
function Person(){}
Person.prototype.name = "王五";
Person.prototype.age = 56;
Person.prototype.say = function(){
alert(this.name + ":" + this.age);
}
这个例子说明了通过prototype添加属性修改属性的方式,但是对于刚入门的人来说,很不明白为什么一定需要通过prototype
Person.name = "王五";
Person.age = 56;
这样指定不是更容易理解吗,那么就需要了解函数通过prototype的内存空间里面的属性变化
//原型的isPrototypeOf方法用来检测一个对象是否用_prop_属性指向自己
//一定注意这个方法是原型拥有的,
//p1的_prop_方法是不能被外界访问的
alert(Person.prototype.isPrototypeOf(p1));
补充一句,上面的属性赋值方式,原型中的值不会被替换,替换的仅仅是自己空间的值