2011-04-14 65 views

回答

4

打破你寫什麼......

out += (
    out ? 
     rogueArray[14] : 
     rogueArray[13] 
    ) + 
    arrayItem + 
    (
     (vanWilder[arrayItem] !== null) ? 
     //Oh no! What's this assignment doing here? 
     = + encodeURIComponent(vanWilder[arrayItem]) : rogueArray[13]); 

同時,它會更容易調試你的代碼,如果你不喜歡的東西如下:

if (out) { 
    out += rogueArray[14] 
} else { 
    out += rogueArray[13] 
} 
out += arrayItem 

if (vanWilder[arrayItem] !== null) { 
    out += encodeURIComponent(vanWilder[arrayItem]) 
} else { 
    out += rogueArray[13] 
} 
+0

現在,錯誤的是在最後一行? – Amanda 2011-04-14 02:35:10

+0

+1 @ NT3RP讓這些三元運算符離開那裏。代碼應該寫成* read *。保存三元組以縮小,混淆和複數化。 – codelahoma 2011-04-14 02:38:18

1

你有一個賦值操作符漂浮在表達式中。刪除它,它應該在語法上是正確的。

2

我不確定是什麼? = +意味着,但是真的,如果你只寫這個,那麼在一行中就太多了。如果你真的需要在它的工作之後,一次一個地做這一步,那麼將它拆分成單獨的行,使用臨時變量,然後將它重構爲緊湊的帶有嵌套的第三級操作符的班輪。