javascript - 确定是否指定了 "this"

标签 javascript

我想在全局函数中安全地解析 this 的值,同时考虑是否通过 call 显式设置了 thisapplybind 函数。

在 NodeJS 中,以下似乎可以正常工作:

function checkThis() {
    const defaultThis = require.main.children[0].exports;

    console.log(this === defaultThis);
}

checkThis(); //=> true

checkThis.call(); //=> false

checkThis.apply(); //=> false

是否有可以在浏览器和 NodeJS 中运行的任何 JavaScript 通用替代方案?

最佳答案

也许你可以使用globalThis在浏览器领域。

The global globalThis property contains the global this value, which is akin to the global object.

请注意@Simon 的评论,您示例中的代码将无法在非严格模式下运行

关于javascript - 确定是否指定了 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65405824/

相关文章:

javascript - Ionic Framework (AngularJS) Controller 看不到声明的 ng-model

javascript - 无法在 Safari 中捕获 window.open() 异常

javascript - 用增量值和超时填充栏

javascript - 设置在每个助手中使用渲染创建的 Controller

javascript - 大尺寸图片不上传

javascript - 当段落和文本动态围绕 URL 时,如何在 <textarea> 中查找 URL?

javascript - 将应用程序部署到 Heroku 会引发错误 { path =“/” path =“/favicon.ico” }。但是在本地主机上运行

javascript - 如何对再次保存对象数组的对象数组进行排序

javascript - 在reactjs组件的状态中动态生成属性

javascript - 如果我的 JavaScript 代码在 <iframe> 中,我是否需要命名空间?