我有一个上下文菜单,它返回单击的菜单项作为变量中的值,就像这样。
var m = key;
变量可以是我编程的任何东西,例如;编辑、剪切、粘贴或任何我想要的。
是否可以将此变量用作函数名?例如:函数 m() 其中 m 可以是变量的内容。
任何建议将不胜感激。
谢谢
克里斯
我有一个上下文菜单,它返回单击的菜单项作为变量中的值,就像这样。
var m = key;
变量可以是我编程的任何东西,例如;编辑、剪切、粘贴或任何我想要的。
是否可以将此变量用作函数名?例如:函数 m() 其中 m 可以是变量的内容。
任何建议将不胜感激。
谢谢
克里斯
您可以使用所需的函数创建一个对象,然后使用该变量调用函数:
var funcs = {
"cut": function(){
console.log("Cutting");
},
"paste": function(){
console.log("Pasting");
}
};
var m = "cut";
funcs[m]();
当然可以!
var onComplete = fadeOut;
function fadeOut(){
$(this).animate({
opacity: "0"
},400);
}
巧合的是,您也可以使用这种方式来伪制作类。
function myClass(){
this.publicVar = "" //<-- this is a public var
var privateVar = ""; //<-- this is private
this.myPublicMethod = myPublicMethod;
function myPublicMethod(){ // <-- public because of the line above
}
function _myPrivateMethod(){ // <-- if just this it's private
}
}
function my_generic_function(m) {
switch (m) {
case "cut":
console.log("cutting");
break;
case "copy":
console.log("copying");
break;
default:
return false;
}
}
var m = "cut";
my_generic_function(m);
var m = "copy";
my_generic_function(m);