javascript - 是否可以在 javascript 中获取调用者上下文?

标签 javascript

var test = {
    demo: function(){
      //get the caller context here
    }
}
//when this gets called, the caller context should be window.
test.demo();

我尝试了 arguments.calleearguments.callee.caller,但没有成功...

最佳答案

由于 this 关键字引用 LexicalEnvironment 中的 ThisBinding,而 javascript(或 ECMAScript)不允许以编程方式访问 LexicalEnvironment(实际上,无法以编程方式访问整个Execution Context),因此不可能获取调用者的上下文。

此外,当您在全局上下文中尝试 test.demo() 时,应该根本没有没有调用者,也没有附加的上下文 对于调用者,这只是一个全局代码,而不是调用上下文。

关于javascript - 是否可以在 javascript 中获取调用者上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9679053/

相关文章:

javascript - 通过 Ajax 验证 django html 模板中至少选中一个复选框

javascript - 如果满足条件,如何更改 div 中每个 p 的颜色?

javascript - 如何将 Javascript 注入(inject)站点,然后确保它跨浏览器兼容?

javascript - 在 light DOM 中渲染 lit-element 以与 stripe.js 一起使用

javascript - React 和 Express 不起作用?

JavaScript - 将所有变量/增量变量后缀打印到控制台

javascript - 是否有检查嵌套属性是否存在的快捷方式

javascript - jsp如何在模态对话框中显示 “no results found”

javascript - eval() JavaScript 内存泄漏

javascript - 未处理的拒绝(错误): Expected undefined to be a GraphQL schema