码迷,mamicode.com
首页 > 编程语言 > 详细

JavaScript基础知识十五(原型链批量设置公有属性)

时间:2017-04-12 03:01:32      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:修改   prot   yun   code   uniq   prototype   重构   .重构   cti   

  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(){
           }
       };

 

JavaScript基础知识十五(原型链批量设置公有属性)

标签:修改   prot   yun   code   uniq   prototype   重构   .重构   cti   

原文地址:http://www.cnblogs.com/zzzzzzzsy/p/6696742.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!