2015-09-25 59 views
2

我想知道如何调用一个函数的字符串值Javascript - 如何用字符串调用任何函数?

在我发现这一些其他问题:window["functionName"](arguments);, ,我以为是不工作的原因我的功能不是全球性的,我不想让他们成为全球性的。

我这里有一个例子:

(function ($) { 
    "use strict"; 
    var testing, 
    showMe; 

    testing = function(){ 
     alert('Working'); 
    }; 

    showMe = function(test){ 
     window[test](arguments); 
    } 

    $(document).ready(function(){ 
     showMe('testing'); 
    }); 
})(jQuery); 

正如你所看到的,我想是叫只使用一个字符串值的功能,testing()

回答

2

window是一个对象。您可以将其放置在任意物体内:

(function ($) { 
    "use strict"; 
    var testing, 
    showMe, 
    funcs = {}; 

    funcs.testing = function(){ 
     alert('Working'); 
    }; 

    showMe = function(test){ 
     funcs[test](arguments); 
    } 

    $(document).ready(function(){ 
     showMe('testing'); 
    }); 
})(jQuery); 
+0

谢谢!这是工作! –

相关问题