Синтаксическая ошибка JavaScript

#javascript #syntax-error

#javascript #синтаксическая ошибка

Вопрос:

 out  = (out ? rogueArray[14] : rogueArray[13])   arrayItem   ((vanWilder[arrayItem] !== null) ? =   encodeURIComponent(vanWilder[arrayItem]) : rogueArray[13]);
  

Предположительно, здесь имеется синтаксическая ошибка в строке вплоть до [arrayItem в Dreamweaver. Любая помощь?

Вот ее изображение в DreamWeaver:

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

Ответ №1:

Разрушение того, что вы написали…

 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]
}
  

Комментарии:

1. 1 @NT3RP за удаление оттуда этих троичных операторов. Код должен быть написан для чтения . Сохраните троичные файлы для минимизации, запутывания и плюрализации.

Ответ №2:

Я не уверен, что? = означает, но на самом деле, слишком много всего происходит в одной строке, если вы просто пишете это. Разбейте его на отдельные строки, используйте временные переменные, а затем реорганизуйте его до компактного однострочника с вложенными третичными операторами, если вам действительно нужно, после того, как он заработает, выполняя это шаг за шагом.

Ответ №3:

У вас есть оператор присваивания, плавающий в середине этого выражения. Удалите ее, и она должна быть синтаксически правильной.