编程语言
首页 > 编程语言> > javascript-如何获取调用函数/对象的上下文?

javascript-如何获取调用函数/对象的上下文?

作者:互联网

function define(prop, value) {
    Object.defineProperty( /* context of caller */ , prop, {value: value});
}

function F() {
    define('x', 42);
}

var f = new F();

有没有一种方法来获取调用函数的上下文(在上面的代码中内联注释)?

如果我绑定到此(替换对此的注释),并且在F构造函数内部声明var def = define.bind(this),它会正常工作.

解决方法:

How to get context of calling function/object?

您不能,必须将其显式地提供给您的define函数(将其作为参数传递,等等).

这是一件好事. :-)您最后想要的是可以访问调用者上下文并以不受控制的方式更改内容的函数.

标签:this,javascript,function-constructor
来源: https://codeday.me/bug/20191123/2064986.html