【问题标题】:How do I use one function to call the other function by if/case statement?如何使用一个函数通过 if/case 语句调用另一个函数?
【发布时间】:2014-05-05 19:46:05
【问题描述】:

有谁知道我打错了什么字,因为我的编辑,我似乎无法让它工作

number=5;
switch (number) {
    case 5:
        box.onclick = function1;
        break;
    case 50:
        box.onclick = function2;
        break;
}

我也试过在 switch 中这样做。

【问题讨论】:

  • 你真的在使用一个名为“var”的变量吗?
  • Var - 我的变量名的通用名称,我不想透露我正在做什么。
  • 为清楚起见,您最好将其命名为其他名称,因为现在这是您的代码示例最明显的问题,也是您所有答案的主题。
  • 正如您迄今为止的所有答案所指出的那样,“var”对于占位符来说是一个非常糟糕的名称,因为它是 JavaScript 中的关键字。选“x”,选“y”,没关系——只要不是关键字“var”。
  • 那么你的意思是当你将number设置为50时,那么点击该框不会导致function2被调用?

标签: javascript if-statement case-statement function-call-operator


【解决方案1】:

尽量不要使用reservedvar作为变量名:

var x=5;
    if (x==5){
        box.onclick = function1;
    }
    if(x==50){
        box.onclick = function2;
    }

【讨论】:

    【解决方案2】:

    var 是创建变量的保留字。您不能将其用作名称。这是正确的语法:

    var x = 5;
    
    if (x == 5) {
        box.onclick = function1;
    }
    
    if (x == 50) {
        box.onclick = function2;
    }
    

    【讨论】:

    • 糟糕,分心。谢谢
    【解决方案3】:

    使用此代码:

    number=5;
    switch (number) {
        case 5:
            box.onclick = function1;
            break;
        case 50:
            box.onclick = function2;
            break;
    }
    

    case 50 永远不会被命中,因为你在进入 switch 块之前将 number 设置为 5。因此 box onclick 永远不会等于 function2。因此,当您单击该框时,function2 将不会运行。这真的是您实际代码的准确表示,还是省略了重要信息的简化?

    【讨论】:

    • 其实函数 1 变成 50,函数 2 变成 5。
    • 好的,但是切换代码是在号码更改后重新运行,还是只运行一次,在启动时?必须重新运行开关代码才能将 box.onclick 设置为 function2。
    • 我有它,当你点击“按钮”时功能将停止
    • 此外,如果您将此评论添加到您的问题描述中,将对其他回答者有很大帮助。甚至可能显示一个简化的函数 1 和函数 2,显示它们如何修改数字。
    • 我知道这两个函数独立工作,并且一起工作,但我试图将它们写成当它们到达 A 点或 B 点时停止让我们说函数 1 将数字设置为 50,而函数 2 设置编号为 5。
    【解决方案4】:

    您不能使用 JavaScript 保留字来声明变量。

    例如,尝试将var=5 替换为myVar=5

    var myVar = 5;
    
    if (myVar ==5){
        box.onclick = function1;
    }
    if(myVar ==50){
        box.onclick = function2;
    }
    

    另外,请查看此参考:JavaScript Reserved Words

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      • 2016-02-04
      • 2020-03-09
      • 2011-07-14
      • 2012-10-26
      • 1970-01-01
      相关资源
      最近更新 更多