为了账号安全,请及时绑定邮箱和手机立即绑定

javascript中中断原型链如何再拼接回去?

javascript中中断原型链如何再拼接回去?

梦里花落0921 2018-09-04 14:37:42
var FF = function(){};var ff = new FF();ff.__proto__ === FF.prototype;//trueFF.prototype.__proto__ === Object.prototype;//trueObject.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;//trueFF.prototype.__proto__ === Object.prototype;//trueObject.prototype.__proto__ = null;Object.prototype.__proto__ = ss;ff.toString;//此时还是拼接不回去了,有没有大神看一下有没有什么方法将断开的原型链再拼接回去,还是只要断开就拼接不会去了?
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

Object.prototype这个位置接


查看完整回答
反对 回复 2018-10-26
  • 1 回答
  • 0 关注
  • 672 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信