2014-01-19 70 views
0

这是我的文档的一部分:这是在javascript中调用函数的正确方法吗?

function MyFunction() { 
    var x="" 

    if (x=1) { 
     OnBtnPbDemo_SwitchChn1(1); //This is a function 
    } else { 
     OnBtnPbDemo_SwitchChn1(0); //This is another function 
    } 
} 

我想知道这是否是调用条件内的功能以正确的方式。
非常感谢。

+0

调用外部或内部条件函数没有区别。然而,你的代码还有其他一些问题:1)你将* 1分配给'x',你不把*'x'与'1'比较。 2)因为你给它分配了一个空字符串,'x'永远不会是'1'。假设你从别的地方得到'x',你可以省略整个'if'语句并使用条件运算符:'OnBtnPbDemo_SwitchChn1(x == 1?1:0);'。 –

+3

@Ilan:你说得对,没有意义,但你不能仅仅假设OP的代码是不同的。你可能已经编辑了OP的问题! –

+0

您只调用一个函数,参数根据条件的结果而不同。 –

回答

1

不能完全确定你的意思打电话的“正确”的方式是什么,但只要只要他们”你可以调用函数在范围内可用。

实际上,你可以缩短你写什么,这太:

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

除非你真的改变你的函数内部的变量x但是,它永远不会与1作为帕拉姆运行。

1

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

+0

这是一条评论,而不是答案。我知道你不能评论,但尽管如此,尽量发布适当的答案。发表评论的权利即将到来! – Tomalak

+1

???什么不是对此的答案? –

+0

答案应该包含代码和解释。细长的“是”来克服最小字符数不会削减它。 (另外OP代码至少有三个问题需要指出。) – Tomalak

1

您需要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.   
    } 

,如果你要调用不同功能的不同x值,试试这个

function MyFunction() { 
    var x=""; 
     if (x==1) { 
      OnBtnPbDemo_SwitchChn1(1); //This is a function 
     } else { 
      OnBtnPbDemo_SwitchChn1_another(0); //This is another function 
     } 
    } 
+0

这是一条评论,而不是对问题的回答。 –

+0

@Ash Burlaczenko这是错误之一,OP需要改变这一点。 –

+0

主要问题还没有回答 –

-2

您正在调用两次相同的函数,而只是调用函数一次,其值为1/0。

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

仅供参考,您的代码有语法错误,并且是非常规格式。 –

+1

此外它只是明显错误。 –

相关问题