我创建了一个脚本,该脚本将此变量记录到全局范围的控制台中。如果我在浏览器中启动脚本,它将返回未定义的。例如。
console.log(this); //returns undefined
但是,如果我直接在浏览器控制台中输入相同的命令,它将返回窗口对象。这是我所期待的。例如。
console.log(this); //returns Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, frames: Window, …}
为什么将“ this”登录到控制台的行为/输出在浏览器控制台中不同,而在检查脚本的输出时却有所不同?
编辑: 我正在使用babel(es2015预设)编译脚本。 就我最初的问题而言,现在该问题已解决。 禁用Babel预设/插件会导致此变量的预期输出。