gpt4 book ai didi

javascript - 使用动态名称调用嵌套函数

转载 作者:行者123 更新时间:2023-11-28 12:34:19 25 4
gpt4 key购买 nike

考虑这段代码:

(function a() {
// Nested function
function b() {
console.log("Works!");
}

b();
})();

此代码有效,但如果名称位于字符串内(即动态),是否可以(理论上)调用 b()

如果 b() 在全局范围内声明,我们可以使用 window[stringContainingName]();。这种情况有可能吗?

这只是一个理论问题!我知道这样的代码是糟糕的设计。

最佳答案

Is there a possibility in this case?

仅通过使 b 函数成为对象的属性:

(function a(name) {
var fns = {
b: function b() {
console.log("Works!");
}
};

// possibly secure by `if (fns.hasOwnProperty(name))`
fns[name]();
})("b");

您需要事先知道函数的名称。

关于javascript - 使用动态名称调用嵌套函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18764657/

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