Javascript里面的this由调用方式确定它的指向。
1. 函数
此时为this为
function log()
{
console.log(this);
}
log();

2. 对象方法
此时为实例对象。
function log()
{
console.log(this);
}
function class1()
{
this.name="class1 name"
}
var obj1=new class1();
obj1.fu1=log;
obj1.fu1();

但我们可以通过使用apply,bind,call来指定'this'.
function log()
{
console.log(this);
}
log.call({name:"test call"});
log.apply({name:"test apply"});
log.bind({name:"test bind"})()

下面是一个简单的bind实现,可以帮助理解。
Function.prototype.bind2 = function(context){
var _that = this;
return function()
{
_that.apply(context);
};
}
function fn1()
{
console.log(this);
}
var fn2=fn1.bind2({name:"testing"});
fn2();
