gpt4 book ai didi

Javascript 检查函数是否由两个字符串组成

转载 作者:行者123 更新时间:2023-11-28 02:00:10 26 4
gpt4 key购买 nike

我正在尝试 Garber-Irish 实现(使用 typescript),并且我有以下 Typescript 代码,我想在其中检查 controller + "Controller" 的类型是否是有效函数。

如果我取消注释,则 typeof(controller + "Controller") 始终是一个字符串(这是预期的)。

如果我注释代码并运行此代码,如果窗口没有有效的函数,例如 fooController,则 new window[controller + "Controller"] 返回错误>

var util = {
exec: function (controller: string, action: string) {
//if (typeof(controller + "Controller") !== 'function') return;

var ctrlClass = new window[controller + "Controller"];
if (ctrlClass === undefined) return; //this is most likely redundant

if (action === undefined)
ctrlClass.init();
else {
if (ctrlClass[action] && typeof ctrlClass[action] == "function") {
ctrlClass[action]();
}
}
},

init: function () {
var body = document.body,
controller = $("body").data("controller").toLowerCase(),
action = $("body").data("action").toLowerCase();

GlobalApp.common.init();
util.exec(controller);
util.exec(controller, action);
}
};

所以我的问题是如何检查一个函数是否由两个字符串组成,例如“主页”+“ Controller ”。

最佳答案

怎么样

typeof window[controller+"Controller"] === "function"

关于Javascript 检查函数是否由两个字符串组成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18551283/

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