2010-11-19 3 views
2

Это мой JavaScript (сильно урезанная):Неожиданный «неожиданный конец строки» предупреждение пуха JavaScript

function addContent() { 
    var content = []; 
    content.append(
     makeVal({ 
      value : 1 
     }) 
    ); // Generates lint message 
} 

Запуск программы пуха над этим, я получаю сообщение

unexpected end of line; it is ambiguous whether these lines are part of the same statement 

на линии 7. Если я конкатенирую строки 6 и 7, сообщение уходит.

Может ли кто-нибудь объяснить, где эта двусмысленность? Мне кажется, что скобка на строке 7 однозначно закрывает вызов append().

+0

какая программа вы используете? звучит для меня так, как будто вам нужно отправить отчет об ошибке. – Spudley

+1

Я бы сказал, что * content * в данный момент не определено. – Gumbo

+0

Это было бы более читаемым для меня makeVal ({"value": 1}) – mplungjan

ответ

2

Это выглядит так же, как и мне. Звучит как ошибка в используемой вами программе lint.

Вы можете понять, почему это будет интересно, потому что вызов makeVal соответствует профилю кода, который полагается на точка с запятой вставки   — если вы правильно смотреть на более широком контексте и понять, что это в списке аргументов для append вызова. Кажется, что программа lint на самом деле не разбирает язык, просто ищет шаблоны, которые будет означать, что у него будут как ложные срабатывания, так и ложные негативы.

Смежные вопросы