yygmind / blog

我是木易杨,公众号「高级前端进阶」作者,跟着我每周重点攻克一个前端面试重难点。接下来让我带你走进高级前端的世界,在进阶的路上,共勉!
https://muyiy.cn/blog/
10.51k stars 1.11k forks source link

> 我用原生的bind试了obj.**proto**.friend = "Kitty"; // 修改原型 #49

Open lonkang opened 4 years ago

lonkang commented 4 years ago

我用原生的bind试了obj.proto.friend = "Kitty"; // 修改原型 bar.prototype.friend; // 返回错误,这里被修改了// Kitty 发现也是会修改的,这个我有点蒙了哈 {friend: "Kitty", constructor: ƒ} paste.html:68 {friend: "Kitty", constructor: ƒ},打印出来是一样的东西

var Foot = bar.bind(foo, "Jack") var a = new Foot(20); a.proto.friend = "Kitty"; // 修改原型 console.log(bar.prototype.friend) console.log(bar.prototype) console.log(a.proto)

我也试了一下,不懂为啥会说是返回错误,原生的bind 也修改了原型,那这里出错的原因,作者也没有解释

Originally posted by @Pomelo1213 in https://github.com/yygmind/blog/issues/23#issuecomment-619477468

lonkang commented 4 years ago

我也觉得 哈哈