1、先补本子上写的
2、参见https://muyiy.cn/blog/3/3.2.html#%E9%A2%98%E7%9B%AE1,题目1的第四条:
var name = 'window' var person1 = { name: 'person1', show4: function () { return () => console.log(this.name) } } var person2 = { name: 'person2' } person1.show4()() person1.show4().call(person2) person1.show4.call(person2)()
打印一下能分出,第一次show4().call是箭头函数改变的绑定,这样是无效的,不能够直接用call来绑定。
如果是外层的绑定this进行了修改,就间接修改了this
打印结果,person1 person1 person2