2015-12-21 86 views
-3

我已经遍地搜索,但仍无法回答问题。 本质上,我需要做的是一个嵌套的if语句。使用Javascript嵌套如果声明

下面是我的代码,但我收到错误消息说:“语法错误:预期的表达式,得到关键字'其他',第198行”,这是警报后引用行!

\t if((z!=='#EANF#')){ 
 
\t  var signdec 
 
\t \t signdec = "CODE:" 
 
\t \t signdec += "TAG POS=1 TYPE=H1 ATTR=TXT:*" + "\n" 
 
\t \t signdec += "TAG POS=R3 TYPE=A ATTR=TXT:*" + "\n" 
 
\t \t signdec += "TAG POS=1 TYPE=P ATTR=TXT:No<SP>i<SP>data<SP>found. EXTRACT=TXT" + "\n" 
 
\t \t iimPlay(signdec); \t \t 
 
} \t 
 

 

 

 
\t \t \t alert(iimGetExtract()) 
 
\t \t \t else if((iimGetExtract()!=='#EANF#'));{ 
 
\t \t \t iimPlay(sign) 
 
\t \t \t iimPlay(after) 
 
\t \t 
 
} 
 
\t \t \t \t alert(iimGetExtract()) 
 
\t \t \t \t else if((iimGetExtract()=='i'));{ 
 
\t \t \t \t iimPlay(goback) 
 
\t \t \t \t iimPlay(goback) \t \t \t \t 
 
} 
 

 

 

 
\t \t \t else if((iimGetExtract()=='#EANF#')){ 
 
\t \t \t \t iimPlay(goback) 
 
\t \t \t \t iimPlay(goback) 
 
\t \t \t \t 
 
} 
 

 

 
\t else((z=='#EANF#'));{ 
 
\t iimPlay(goback) 
 
} \t

赞赏任何帮助,也如果缩短这个办法,请让我知道。

+3

随机格式化,随机分号,请求错误 –

+0

您的'if-else'语法完全错误。阅读[关于'if-else'语法的文档](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Statements/if...else)并尝试自己更正它。 – Xufox

+0

重新评论现在删除的答案:*“Thaks为快速回复,我已更新问题,因为它仍然无法正常工作!”*这就是现在的工作原理。你不会改变问题来使答案无效。你可以说“我已经尝试过,但没有奏效”,但是你不能改变问题,所以它会使答案失效。 –

回答

4
  1. 之间ifelse if不能有任何alert。 一旦您使用alert中断条件,它实质上是一个新的条件语句,条件语句不能从else if开始。

  2. 此外,如果你不能把分号,其他权利。它只会在那里结束 声明(您可能会将python与 javascript混淆)。

这是一个if...else if...else样子:

if (someCondition) { 
    somethingHere(); 
} else if (someOtherCondition) { 
    somethingElseHere(); 
} else { 
    yetAnotherThingHere(); 
} 

记下的分号,而不是。请注意,在if块的结尾}else之间没有任何内容。

或者如果你喜欢(这是接近的风格在你的问题):

if (someCondition) { 
    somethingHere(); 
} 
else if (someOtherCondition) { 
    somethingElseHere(); 
} 
else { 
    yetAnotherThingHere(); 
} 

...换行符是不重要的。

+0

尽管取消了警报,但我仍然收到相同的错误 – SeunSamuel

+1

@ TJ-Crowder感谢您编辑答案,使其更具信息性。 – gurvinder372

0

另一种可能的结构将是switch声明继续if ... else if ... else if方案。

switch (true) { 
    case z !== '#EANF#': 
     signdec = "CODE:"; 
     signdec += "TAG POS=1 TYPE=H1 ATTR=TXT:*" + "\n"; 
     signdec += "TAG POS=R3 TYPE=A ATTR=TXT:*" + "\n"; 
     signdec += "TAG POS=1 TYPE=P ATTR=TXT:No<SP>i<SP>data<SP>found. EXTRACT=TXT" + "\n"; 
     iimPlay(signdec); 
     alert(iimGetExtract()); // where ever this should happen 
     break; 
    case iimGetExtract() !== '#EANF#': 
     iimPlay(sign); 
     iimPlay(after); 
     alert(iimGetExtract()); // where ever this should happen 
     break; 
    case iimGetExtract() == 'i': 
     iimPlay(goback); 
     iimPlay(goback); 
     break; 
    case iimGetExtract() == '#EANF#': 
     iimPlay(goback); 
     iimPlay(goback); 
     break; 
    case z == '#EANF#': 
     iimPlay(goback); 
     break; 
}