JavaScript中this使用问题
直接上代码:
var c = 1, fn = { c: 2, f: function(){ console.info(this.a) //返回什么? setTimeout(function(){alert(this.c)},1000) //返回什么? }};fn.f() //返回什么?var b = t.f;b.call() //返回什么?function c(arg){ arg.call() //返回什么? console.info(c,this) //返回什么?c(arg) 和 function() ?}c.call(b) //返回什么?c.fn = function(){alert(this.mm)}var m = {mm:2};c.fn.call(m) //返回什么?c.fn.apply(m) //返回什么?
在js中this主要区别是不是this所在作用域,而是调用它的那个对象的范围。