很奇怪的是很多书或资料没有把这个事情讲清楚. 关键就是在于没有一个整体的思维技术模式,问题被隔离了所以反而不容易理解. 我们先看this,这是js的关键字,指示函数的上下文对象. 这里问题就来了,比如: var obj = {}; obj.name = 'test'; obj.output = function () { console.log(this.name); }; obj.output(); this指定了上下文对象,当然如果没有指定就会指定到全局变量,window,这就是问题的根源所…