var FF = function(){}; var ff = new FF(); ff.__proto__ === FF.prototype;//true FF.prototype.__proto__ === Object.prototype;//true Object.prototype.__proto__ === null;//true 这些相信大家都能看懂,我将上面倒数第二句改为下面这句 FF.prototype.__proto__ = null; 此时,ff.toString方法直接报错,相信大家这里应该也没有疑问,上面这一句做的就是将原型链打断了,所以ff.toString方法找不到了,但我现在想把打断的原型链再给拼接上,怎么做?直接在上面运行代码的地方直接拼 Object.prototype.__proto__ = Object.prototype; 这样做肯定不行... 在这里我这样试了一下 var FF = function(){}; var ff = new FF(); var ss = Object.prototype;//ss先对Object.prototype这个对象(这里暂且称这个东西为对象)用中间变量转存一下 ff.__proto__ === FF.prototype;//true FF.prototype.__proto__ === Object.prototype;//true Object.prototype.__proto__ = null; Object.prototype.__proto__ = ss; ff.toString;//此时还是拼接不回去了,有没有大神看一下有没有什么方法将断开的原型链再拼接回去,还是只要断开就拼接不会去了? ![图片描述][1]
付费偷看金额在0.1-10元之间
Object.prototype这个位置接
一周热门 更多>