[英]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.