Javascript:仅使用字符串调用对象方法

Javascript:仅使用字符串调用对象方法,javascript,function,Javascript,Function,这个代码不起作用 var Modal = { init: function() { console.log("test"); } } var objMethod = "Modal.init"; window[objMethod](); 我看到了一些答案,使用这个可以调用它,但我想知道如何在不使用对象的情况下调用它 Modal["init"](); 谢谢大家! 要调用命名空间函数,需要使用多维数组。在这

这个代码不起作用

var Modal = {
    init: function() {
        console.log("test");
    }
}
var objMethod = "Modal.init";
window[objMethod]();
我看到了一些答案,使用这个可以调用它,但我想知道如何在不使用对象的情况下调用它

Modal["init"]();

谢谢大家!

要调用命名空间函数,需要使用多维数组。在这种情况下,它将是window['Modal']['init'],也可以通过拆分objMethod字符串并使用数组索引来表示:

var arr = objMethod.split(".");
window[arr[0]][arr[1]]();
var模态={ init:函数{ 控制台日志测试; } } var objMethod=Modal.init; var arr=objMethod.split。;
窗口[arr[0]][arr[1]];现在还不清楚你想要完成什么。示例中的代码尝试访问名为Modal.init的属性。没有这样的财产。这在很大程度上让我们猜测你到底想做什么。尽管存在window.Modal.init。它也可以通过窗口['Modal']['init']访问。窗户。这是多余的。Modal.init和Modal['init']也引用相同的函数。当你说不使用对象时,你指的是哪个对象?分配给莫代尔的那个?您希望如何避免使用该对象?