插件机制:
就是往原型里加属性:
arr.__proto__.customFn // 只是应用于arr一个变量 -- 验证下~
arr.__proto__.constructor.prototype.customFn // 是应用于原型的
设计思路:
1- 给自己定义的对象添加自定义的方法:
-- 修改对象的__proto__指向,指向自己的所定义的对象(原型,里面有自定义的方法)
-- 同时该对象的部分功能可以继承原来原型的方法,例如{ push:Array.prototype.push ...}
重写图,原理
通过 重写__proto__ 属性,增加属性,并通过原型引用数组方法