本人正在看《你不知道的javascript上卷》,第80页其有关使用this来隐式引用函数的词法作用域错误代码如下:function foo(){ var a = 2; this.bar(); //1}function bar(){ console.log(this.a);}foo();我在VS Code上将代码注释1处的this给删掉之后(如书中所说)发现尽管代码没有出错但是结果为undefined。在单步调试查看调用堆栈时是foo->bar,也就是按照我所想的bar()中this绑定到了foo函数对象上。百思不得其解之后在全局和bar函数中都另外再定义了不同值的a变量,然而结果还是undefined。。。突然想到是不是因为自动使用严格模式的原因,然而在各个浏览器控制台上测试同样是undefined的结果,无解。。。。。求助!!这个this到底绑定到哪里了!!
添加回答
举报
0/150
提交
取消