在javascript中检索函数的绑定对象

时间:2018-08-10 10:26:48

标签: javascript function

是否有任何方法可以检索与thisArg绑定的对象?

赞:

let object = {};
let fn = function () {
    return 'hello world';
}
fn = fn.bind(object);

//now i want a way to achieve that this comparison results in true
let result = (object === fn.getBoundThis());

2 个答案:

答案 0 :(得分:3)

否,JavaScript内置没有提供该信息的内容。 fn本身需要提供它。

答案 1 :(得分:1)

如果您能够修改fn函数定义,则此方法可能会有所帮助。否则,我看不到任何办法。

let object = {a:10};
let fn = function () {
    getThisVal(this);
    return;
}
let theObject;
let getThisVal = function(val){
    theObject = val
}
fn = fn.bind(object);
fn();
console.log(theObject);

还有另一种方法,而不是返回此方法,您可以在fn内调用您定义的任何其他函数,并将this作为参数并在那里访问。