繁体   English   中英

根据函数参数动态调用javascript函数

[英]Dynamically call javascript function based on function arguments

我有一个 jQuery 函数,它接受一些基于我应该调用另一个 jQuery 函数的参数的参数。

例子:

arg0 = "Launch"
        arg1 = "menu"

例子:

(function($)
 {
    preRender: function(arg0,arg1)
    {
        var nextFuncName = arg0+arg1; //launchmenu
        nextFuncName() // hope to call the function name framed from the number of arguments
     }
})(jQuery);

 (function($)
 {
    launchmenu: function()
     {
       console.log("Launchmenu called");
     }
})(jQuery);

我引用了以下链接, 调用以变量命名的 jQuery 函数,但我不想使用eval()或 window 对象。

是否可以使用$.proxy或任何其他方法来实现此功能,是否可以使用 underscore.js 来实现?

任何帮助将不胜感激。

尝试使用jQuery对象

...或者更好的自己的本地对象,而不是污染全局 jQuery 命名空间。


合并它们,以便您使用localObject作为launchmenu但使用$作为preRender


 (function($) { var localObject = {}; function launchmenu() { console.log("Launchmenu called") } function preRender(arg0, arg1) { var nextFuncName = arg0 + arg1; if (nextFuncName in localObject) { localObject[nextFuncName]() } else { console.log(typeof nextFuncName) } } localObject.launchmenu = launchmenu; $.preRender = preRender; }(jQuery)); $(function() { $.preRender("launch", "menu"); });
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"> </script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM