1.阅读《你不知道的javascript》是里面有段代码如下:
function foo() {
var a = 2;
this.bar();
}
function bar() {
console.log(this.a);
}
foo();
作者说this.bar()是引用不到bar()函数,调用bar()应省去前面的this。而在接下来的2.2.1节中作者又举了例子:
function foo() {
console.log(this.a)
}
var a = 2
foo()//2
这里this.a却没问题。
2.我的困惑是:foo调用时是默认绑定,foo中的this应绑定到全局,而全局中有bar函数,所以this.bar()应该可以引用到bar函数。那么作者说的foo中的this.bar()引用不到bar()函数又该如何理解?还请大家不惜赐教,非常感谢!
应该是是说
this
不是指foo
作用域吧,所以this.a
不是2
或者说是
use strict