当前位置: 代码迷 >> JavaScript >> JS base knowledge (四) this
  详细解决方案

JS base knowledge (四) this

热度:224   发布时间:2012-11-22 00:16:41.0
JS base knowledge (4) this
this始终指向当前方法的调用者
如果方法调用签名的左边有对象,则this指向该对象。如果无,则默认指向window.

function foo(){
console.log(this); 
}

foo();// print window

var bar = {name:"bar"};
bar.f1 = function(){
console.log(this); 
}
bar.f1();// print bar's value.


this因事件加载方式而不同:
inline, 和microsoft model是指向Handler。所以运行时,handler的this指向了window对象。

通过apply/call方法在运行时改变this的值:
apply(this, array); call(this, param1, param2);
参考:
http://www.quirksmode.org/js/this.html
  相关解决方案