繁体   English   中英

全局范围内的 console.log(this) 返回 undefined

[英]console.log(this) in global scope returns undefined

我创建了一个脚本,将 this 变量记录到全局范围内的控制台。 如果我在浏览器中启动脚本,它会返回未定义。 例如。

console.log(this); //returns undefined

但是,如果我直接在浏览器控制台中输入相同的命令,它会返回窗口对象。 这是我所期待的。 例如。

console.log(this); //returns Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, frames: Window, …}

为什么在浏览器控制台中将“this”记录到控制台的行为/输出与检查脚本输出时不同?

编辑:我正在用 babel(es2015 预设)编译脚本。 就我最初的问题而言,问题现在已经解决。 禁用 Babel 预设/插件会导致 this 变量的预期输出。

此外,如果您使用的是 ES6 模块,则会自动启用严格模式,如果在全局范围内使用它,它将返回 undefined。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM