gpt4 book ai didi

javascript - 使用 `function.caller`

转载 作者:太空宇宙 更新时间:2023-11-04 16:05:16 24 4
gpt4 key购买 nike

两部分问题:

  1. 如何从对象方法获取function.caller
  2. 如何使用该值来实际调用函数。

示例:

foo = {
bar: function() {console.log(bar.caller);}
}

>> 语法错误:函数语句需要名称

示例2:

[bar.caller](); ?

提前致谢

最佳答案

您发布的代码的问题是 bar 在该匿名函数内没有任何意义。名称“bar”是分配给foo 的对象的属性名称。因此这工作得很好:

var foo = {
bar: function() {
console.log("Caller is: " + foo.bar.caller);
}
};

function x() {
foo.bar();
}

x();

该函数不需要名称;这是无关紧要的。为了获取 caller 属性,您需要对该函数的引用,该引用可以来自任何地方。因此这也是可行的:

var foo = {
bar: function() {
console.log("Caller is: " + this.bar.caller);
}
};

function x() {
foo.bar();
}

x();

因为当该函数作为 foo.bar() 调用时,this 的值将是“foo”对象。

关于javascript - 使用 `function.caller`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41926159/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com