如何在每个函数运行后运行我的开关语句?

时间:2017-06-01 16:52:23

标签: javascript jquery html

我试图这样做,当我运行一个函数时,它也运行我的switch语句,以便我的选择"检查变量(通过开关)以决定输出给用户的内容。

当function1()运行时...运行开关... case" option1" ... Javascript告诉我"选择选项1"。

我可以将我的switch语句包装在for循环中并在我的三个函数中的任何一个运行时查找参数,它运行switch语句吗?

    var choice = "undefined"; 

    function option1 () {
      "use strict";
      var choice = "option1";
    }
    function option2 () {
      "use strict";
      var choice = "option2";
    }
    function option3 () {
      "use strict";
      var choice = "option3";
    }

    switch (choice) {
      case 'option1':
        alert("Option 1 selected");    
        break;
      case 'option2':
        alert("Option 2 selected");    
        break;
      case 'option3':
        alert("Option 3 selected");    
        break;
      default:

      break;
    }

2 个答案:

答案 0 :(得分:0)

当变量发生变化时,您必须重新运行switch语句。此外,choice函数中的option变量不应使用var重新声明(您正在创建新变量而不是分配给现有变量)。

var choice = "undefined"; 

function option1 () {
  "use strict";
  choice = "option1";
  onChoiceChange();
}

function option2 () {
  "use strict";
  choice = "option2";
  onChoiceChange();
}

function option3 () {
  "use strict";
  choice = "option3";
  onChoiceChange();
}

function onChoiceChange() {
  switch (choice) {
    case 'option1':
      alert("Option 1 selected");    
      break;
    case 'option2':
      alert("Option 2 selected");    
      break;
    case 'option3':
      alert("Option 3 selected");    
      break;
    default:

    break;
  }
}

答案 1 :(得分:0)

我真的不明白你想做什么......

<a class="button" href="#" onClick="choice('option1')">Choice Me</a>

function choice(valor) {

  switch (valor) {
      case 'option1':
        alert("Option 1 selected");    
        break;
      case 'option2':
        alert("Option 2 selected");    
        break;
      case 'option3':
        alert("Option 3 selected");    
        break;
      default:

      break;
    }
}