关于JavaScript中this的指向问题,在chrome控制器和node环境中的不同表现?

function foo() {    var a = 2;    this.bar();
}function bar() {    console.log( this.a );
}

foo(); //undefined

这段代码在chrome控制台执行的时候,不会报错,是可以执行的。
但是在node环境中,是直接报错“TypeError: this.bar is not a function”。
请问,这种情况该如何有效的理解?


倚天杖
浏览 582回答 1
1回答

慕妹3146593

确实不是严格模式的问题,之前回答有误经过测试,题主代码运行在非严格模块内才会产生题主所说的错误提示。此时this指向的是module.exports,在函数内定义的未导出的function都不会挂载在module.exports上
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript