首页 > 代码库 > JavaScript基础知识十五(原型链批量设置公有属性)
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(){ } };
JavaScript基础知识十五(原型链批量设置公有属性)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。