一.我们对this认识的两个误区
1.认为this 指向自身
function foo(num){
console.log("foo: " + num);
this.count ++;
}
foo.count = 0;
var i;
for(i =0; i < 10; i++){
if(i > 5){
foo(i);
}
}
console.log(foo.count) //结果为0 显然认为this是foo自身是错误的
2.认为this是它的作用域
function foo(){
this.a = 2;
this.bar();
}
function bar(){
console.log(this.a);
}
foo();//ReferenceError : a is not defined
this 实际上是在函数被调用时发生绑定,它指向什么完全取决于函数在哪里被调用