2015-09-25 53 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

謝謝!這是工作! –