这是在javascript中调用函数的正确方法吗?

这是在javascript中调用函数的正确方法吗?,javascript,if-statement,Javascript,If Statement,这是我文件的一部分: function MyFunction() { var x="" if (x=1) { OnBtnPbDemo_SwitchChn1(1); //This is a function } else { OnBtnPbDemo_SwitchChn1(0); //This is another function } } 我想知道这是否是调用条件内函数的正确方法。 非常感谢。是的,无论您在哪里调用函数,调用函数都

这是我文件的一部分:

function MyFunction() {
    var x=""

    if (x=1) {
        OnBtnPbDemo_SwitchChn1(1); //This is a function
    } else {
        OnBtnPbDemo_SwitchChn1(0); //This is another function
    }
}
我想知道这是否是调用条件内函数的正确方法。

非常感谢。

是的,无论您在哪里调用函数,调用函数都是一样的。

您需要在
if
条件中使用
=
,而不是使用
=

 if (x==1) {
而不是

 if (x=1) {
如果要为不同的
x
值调用相同的函数,请尝试以下操作

  function MyFunction() {
       var x = 1;   
       OnBtnPbDemo_SwitchChn1(x); //you can pass the x value directly to that function.         
    }
  function MyFunction() {
    var x="";
        if (x==1) {
            OnBtnPbDemo_SwitchChn1(1); //This is a function
        } else {
            OnBtnPbDemo_SwitchChn1_another(0); //This is another function
        }
    }
如果要为不同的
x
值调用不同的函数,请尝试以下操作

  function MyFunction() {
       var x = 1;   
       OnBtnPbDemo_SwitchChn1(x); //you can pass the x value directly to that function.         
    }
  function MyFunction() {
    var x="";
        if (x==1) {
            OnBtnPbDemo_SwitchChn1(1); //This is a function
        } else {
            OnBtnPbDemo_SwitchChn1_another(0); //This is another function
        }
    }

不完全确定“正确”的调用方式是什么意思,但只要函数在作用域中可用,就可以在任何地方调用函数

实际上,您也可以缩短您为此编写的内容:

function MyFunction () {
    var x = "";
    OnBtnPbDemo_SwitchChn1(x === 1 ? 1 : 0);
}

除非您实际更改了函数中的
x
变量,否则它永远不会以
1
作为参数运行。

您要调用同一个函数两次,而只需调用一次值为1/0的函数

function MyFunction() {
//Check and find value of x
if(x=="somevalue") //true condition
{
   x=1;
}
else{
x=0;
}
OnBtnPbDemo_SwitchChn1(x);
}

在外部条件和内部条件之间调用函数没有区别。但是,您的代码还有几个其他问题:1)您正在将
1
分配给
x
,而没有将
x
1
进行比较。2)
x
将永远不会是
1
,因为您为其分配了一个空字符串。假设您实际上从其他地方获得了
x
,您可以省略整个
if
语句,并使用条件运算符:
OnBtnPbDemo_switchn1(x==1?1:0)
@Ilan:你是对的,这没有意义,但是你不能仅仅假设OP的代码是不同的。你可能已经把OP的问题删掉了!您只调用一个函数,根据条件函数的结果,参数是不同的。@FelixKling OK,这是一个注释,不是答案。我知道你还不能发表评论,但还是试着给出正确的答案。发表评论的权利很快就会到来!答案应包含代码和解释。超过最小字符数的加长“是”并不能将其删除。(加上OP的代码中至少有三个问题需要指出。)这是一个注释,不是问题的答案。@Ash Burlaczenko这是错误之一,OP需要更改。主要问题没有回答yetFYI,您的代码有语法错误,格式不符合常规。