setTimeout中回调函数的this

145 阅读1分钟
var a = 1
var b = {
	a: 2,
    fn: function() {
    	console.log(this.a)
    	console.log(this)
    	console.log(b)
    }
}

o.fn()	// 2

setTimeout( o.fn, 1000)		// 1

等同于

window.setTimeout(
	function() {
    	console.log(this.a)
    	console.log(this)
    	console.log(b)  // 因为b是全局的
    }, 1000)
    
// window.setTimeout( o.fn, 1000)