zoukankan      html  css  js  c++  java
  • JavaScript基础知识十五(原型链批量设置公有属性)

      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(){
               }
           };
  • 相关阅读:
    Scrapy 教程(三)-网站解析
    Scrapy 教程(二)-操作流程
    Scrapy 教程(一)-安装与入门
    高效编程之 多线程Event
    深信服 长方体的摆放
    2019 深信服 下棋(DFS+回溯)
    最优矩阵连乘问题 区间DP
    k种球若干,取n个球,输出所有取球方案 (模拟)
    KMP(模板)
    A. Optimal Currency Exchange 兑换硬币,剩下的钱最少
  • 原文地址:https://www.cnblogs.com/zzzzzzzsy/p/6696742.html
Copyright © 2011-2022 走看看