• 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(){
               }
           };
  • 相关阅读:
    利用合成数据进行时间序列分类的数据扩充方法
    基于 KubeSphere CI/CD 将 Spring Boot 项目发布至 Kubernetes
    矩阵白化
    delphi 过滤开头 结尾 全部 空格的函数
    delphi CopyFileProgressBar 拷贝文件显示进度条
    delphi 分享三个随机字符串
    delphi IsIPAdress 非正则表达式验证IP的方法
    delphi PosAnsi
    delphi公用函数
    Delphi中break,exit,abort跳出循环的比较
  • 原文地址:https://www.cnblogs.com/zzzzzzzsy/p/6696742.html
Copyright © 2020-2023  润新知