2011-04-14 5 views
0
out += (out ? rogueArray[14] : rogueArray[13]) + arrayItem + ((vanWilder[arrayItem] !== null) ? = + encodeURIComponent(vanWilder[arrayItem]) : rogueArray[13]); 

여기에 Dreamweaver의 [arrayItem]까지 줄 바꿈 구문 오류가 있습니다. 어떤 도움이 필요합니까? 여기JavaScript 구문 오류

은 드림위버에서의 이미지 :

http://i.stack.imgur.com/ITqV3.jpg

답변

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

+0

+1 세 NT3RP는 그 삼항 연산자를 꺼내기위한 것입니다. 코드는 * read *로 작성되어야합니다. 축소, 난독 화 및 복수화를 위해 삼항을 저장하십시오. – codelahoma

1

당신은 그 표현의 중간에 주위에 떠 할당 연산자가 있습니다. 그것을 제거하면 구문 적으로 정확해야합니다.

2

잘 모르겠습니다. = + 의미하지만, 실제로, 만약 당신이 이것을 쓰고 있다면 그것은 한 줄로 너무 많이 진행됩니다. 별도의 줄로 분리하고 임시 변수를 사용한 다음 중첩 된 3 차 연산자가있는 컴팩트 한 라이너로 리팩토링하십시오. 실제로 작동해야하는 경우에는 한 번에 한 단계 씩 수행하십시오. 당신이 작성한 것을 부셔