2012-10-10 60 views
0

我做儲蓄計算器和我在Javascript以下多條件,當我把它在Dreamweaver中我得到一個語法錯誤,但真的不明白的地方是錯誤。多條件語句中的javascript

下面是代碼:

if (p<20000 && nnn=1) { 
    document.kombpred.r2.value = mmm * nnn * bbb * 0.1; 
} 
else if (p>=20000 && nnn = 1) { 
    document.kombpred.r2.value = 2000; 
} 
else if (p>=20000 && nnn > 1) { 
    document.kombpred.r2.value = mmm * Math.pow(nnn,2) * bbb * 0.1; 
} 
else if (p<20000) { 
    document.kombpred.r2.value = mmm * nnn * bbb * 0.1; 
} 

這僅僅是if聲明,我甚至其他if報表,但不能與多個條件和代碼是正確的,但我只要一插入此,發生不好的事情。

詞:mmm; nnn; bbb;全部是parseFloat()號碼,如:var mmm = parseFloat(m)

我也已經宣佈所有的人。

+1

跳出來的東西是'nnn = 1' - 當你必須是比較時。不知道這是嚴格的語法錯誤。 –

+0

@本·帕森斯:賦值是一個有效的表達式,但是這裏'p <20000 && nnn'被賦予一個*值*無效的值。 – pimvdb

+0

我現在在手機上注意到的唯一事情是,如果在if條件中設置'nnn',那麼在比較值時應該使用'=='而不是'='。 但是這不應該給你的,雖然語法錯誤 - - - 也許這是一個語法錯誤,如果嚴格模式是,我不知道 – C5H8NNaO4

回答

4

錯誤說的是什麼?我的控制檯說:無效的左側分配。當他們應該是nnn == 1時,您正在進行比較,如nnn=1(這是作業的語法)。

+0

Wooooow偉大:D ...我需要把nnn == 1,它解決了這個問題。所以在JavaScript中,當我分配s.m.th時,我只放一個等號,當我比較時,我應該使用兩個等號:)。萬分感謝!!!! – Genci

+3

第二段不正確。如果評估如此,它在語法上是正確的。由於優先級,它被評估爲'(p> = 20000 && nnn)= 1',這是無效的(對錶達式的賦值毫無意義 - 只能賦值給變量/屬性)。 – pimvdb

+0

@pimvdb你是對的,謝謝你指出。刪除。 – Radu