第一章 关于this
1.关于this
1.1 为什么要用this
this 提供了一种更优雅的方式来隐式“传递”一个对象的引用。可以将API变得更简洁并复用。
1.2 误解
1.指向自身
从对象内部引用自身,法一:需要通过一个指向函数对象的词法标识符(变量)来引用它。
function foo(){
foo.count = 4;// foo指向自身
}
- setTimeout(function(){
- // 匿名函数 无法指向自身
- },10);
唯一一种可以让匿名函数指向自身的方法是arguements.callee,已被批判和弃用,不该再使用它。
法二:强制this指向foo函数
foo.call(foo,i);
2.它的作用域
this在任何情况下都不指向函数的词法作用域。
1.3 this到底是什么
this是在运行时绑定的,并不是在编写时绑定的,几步指向自身也不指向函数的词法作用域。它指向完全取决于函数在哪里调用