簡體   English   中英

是否可以將變量用作函數名稱

[英]Is it possible to use a variable as a function name

我有一個上下文菜單,返回單擊作為變量值的菜單項,如下所示。

var m = key;

例如,變量可以是我編程的任何東西; 編輯,剪切,粘貼或任何我想要的東西。

是否可以將此變量用作函數名稱? 例如:function m()其中m可以是變量的內容。

任何建議將不勝感激。

謝謝

克里斯

您可以使用所需的函數創建一個對象,然后使用該變量來調用這些函數:

var funcs = {
   "cut": function(){
      console.log("Cutting");
    },
    "paste": function(){
      console.log("Pasting");
    }
};

var m = "cut";
funcs[m]();

http://jsfiddle.net/WVBNV/

當然可以!

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);
​

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM