function foo() { var a = 2; this.bar();
}function bar() { console.log( this.a );
}
foo(); //undefined这段代码在chrome控制台执行的时候,不会报错,是可以执行的。但是在node环境中,是直接报错“TypeError: this.bar is not a function”。请问,这种情况该如何有效的理解?
1 回答
慕妹3146593
TA贡献1820条经验 获得超9个赞
确实不是严格模式的问题,之前回答有误
经过测试,题主代码运行在非严格模块内才会产生题主所说的错误提示。
此时this指向的是module.exports,在函数内定义的未导出的function都不会挂载在module.exports上
添加回答
举报
0/150
提交
取消