2015-12-21 105 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; 
}