var FF = function(){};var ff = new FF();ff.__proto__ === FF.prototype;//trueFF.prototype.__proto__ === Object.prototype;//trueObject.prototype.__proto__ === null;//true這些相信大家都能看懂,我將上面倒數(shù)第二句改為下面這句FF.prototype.__proto__ = null;此時,ff.toString方法直接報錯,相信大家這里應(yīng)該也沒有疑問,上面這一句做的就是將原型鏈打斷了,所以ff.toString方法找不到了,但我現(xiàn)在想把打斷的原型鏈再給拼接上,怎么做?直接在上面運行代碼的地方直接拼Object.prototype.__proto__ = Object.prototype;這樣做肯定不行...在這里我這樣試了一下var FF = function(){};var ff = new FF();var ss = Object.prototype;//ss先對Object.prototype這個對象(這里暫且稱這個東西為對象)用中間變量轉(zhuǎn)存一下ff.__proto__ === FF.prototype;//trueFF.prototype.__proto__ === Object.prototype;//trueObject.prototype.__proto__ = null;Object.prototype.__proto__ = ss;ff.toString;//此時還是拼接不回去了,有沒有大神看一下有沒有什么方法將斷開的原型鏈再拼接回去,還是只要斷開就拼接不會去了?
javascript中中斷原型鏈如何再拼接回去?
夢里花落0921
2018-09-04 14:37:42
