2013-02-03 65 views
0

這段代碼是動態地改變條件的,但是這個語句被chrome識別並且interperted,而不是fx,怎麼解決這個問題?感謝動態改變javascript中if語句的條件

if a % 2 == 0 
    var condition = b == c || b == d; 
else 
    var condition = b == e || b == f ; 

if (condition) 
    ...... 
+0

宣佈爲'無功someVar'任何變量將被提升到範圍的頂端,所以你只需要使用'var'關鍵字每個符號一次。 – Mathletics

+0

此代碼應該在Firefox中正常工作。你能鏈接到一個不起作用的測試用例嗎? –

回答

4
var condition = (a % 2 == 0) ? (b == c || b == d) : (b == e || b == f); 
0

寫這樣的:

var condition; 
if (a % 2 == 0) 
    condition = b == c || b == d; 
else 
    condition = b == e || b == f ; 

if (condition) 
    ...... 
+0

爲什麼它會不同? OP沒有在這裏添加任何基於支架的示波器。 – SexyBeast

+0

因爲在使用它之前已經定義了條件。 – Knerd

+0

服務的目的是什麼?它是一個'if-else'條件,要麼執行'if'或'else',所以變量在其中一個裏面被定義... – SexyBeast