javascript中中断原型链如何再拼接回去?
ringa_lee
ringa_lee 2017-04-10 17:45:13
[JavaScript讨论组]
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;//此时还是拼接不回去了,有没有大神看一下有没有什么方法将断开的原型链再拼接回去,还是只要断开就拼接不会去了?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
怪我咯

Object.prototype这个位置接

ringa_lee

FF.prototype.__proto__ =Object.prototype

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号