function Fn(){
this.x = 100;
}
/* 1.把原来原型指向的地址赋值给我们的pro,现在它们
操作的是同一个内存空间*/
var pro = Fn.prototype;
pro.getA =function(){};
pro.getB =function(){};
pro.getC =function(){};
/*2.重构原型的方式—>自己新开辟一个堆内存,存储我们公有的、
属性和方法,把浏览器原来给Fn.prototype开辟的那个替换掉*/
Fn.prototype ={
// 只有浏览器天生给Fn.prototype开辟的堆内存里面才有constructor,而我们
// 自己开辟的这个堆内存没有这个属性,这样constructor指向就不在是Fn而是
// Object了
// f.constructor 没做任何处理之前 Object
// 为了和原来的保持一致,我们需要手动的增加 constructor 的指向
constructor:Fn,
prototype:Fn,
getX =function(){},
getY =function(){},
getZ =function(){}
};
// 2、用这种方式 给内置类增加 这么好口爱公有的属性
// 给内置类Arrary 增加数组去重的方法
//`````````````````````````````````````````````````
//我们这种方式会把之前已经存在于原型上的属性和方法给替换掉,所以我们中的
// 这种方式修改内置类的话浏览器是给屏蔽掉的 不让你用
// 但是我们可以一个个的修改内置的方法,当我们通过下述方式在数组的原型上增加方法
// 如果方法名和原来的内置的重复,会把人家内置的修改掉-->我们以后再内置类的原型上
//增加方法,命名都需要加特殊的前缀 myUnique
Array.prototype = {
constructor:Array,
unique:function(){
}
};