簡體   English   中英

從對象執行JavaScript函數

[英]Execute JavaScript function from object

是否可以通過這種方式執行功能:

this.values(value);

this.values[value]();
this.values[value].call();

如果是這樣,怎么辦? 還是其他方法? 謝謝。

這是我的代碼:

write: function(value) {

  this.values = {
    "red": function() { /* do something */ },
    "orange": function() { /* do something */ },
    "blue": function() { /* do something */ }
  };

  return this.values[value]();

}

write("red");

可能是您可以在內部使用var:

write: function(value) {

  var values = {
    red: function() { /* do something */ },
    orange: function() { /* do something */ },
    blue: function() { /* do something */ }
  };

  return values[value];

}

並返回該函數,而不是在內部運行它。 然后叫它。

不。但是目前做起來沒有什么錯。

您可以始終這樣做:

write: function(value) {    
  switch(value){
    case "red":
    /* do something */
    break;

    case "orange":
    /* do something */
    break;

    case "blue":
    /* do something */
    break;

    default:
    /* do something */
    break;
  }    
}

write("red");

暫無
暫無

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

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