我有一个jquery函数,根据我应该调用另一个jquery函数的参数接受几个参数。
ex)arg0 = "Launch"
arg1 = "menu"
ex)
(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);
我提到了以下链接calling a jQuery function named in a variable,但我不想使用eval()或window对象。
是否可以使用$ .proxy或任何其他方法来实现此功能。还可以使用underscore.js实现此目的吗?
任何帮助都应该是值得注意的..
答案 0 :(得分:2)
尝试使用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>