Подтвердить что ты не робот

ExecJS:: ProgramError: SyntaxError: зарезервированное слово "function"

В наших рельсах rfq.js.coffee у нас есть только простой код js:

$(function() {
  $('#need_report').change(function(){
    if ($(this).val() == true) {
      $('#report_language').hide();
    }  // end if
  });  // end change()
});  // end ready(function)

Однако этот код вызывает ошибку, указывающую, что функция() в первой строке является зарезервированным словом. Поскольку первая строка в основном представляет собой jquery $(document).ready(function () {}), мы не знаем, почему эта ошибка появляется. Любые мысли об этом? Большое спасибо.

4b9b3361

Ответ 1

Вы не можете использовать стандартный JS, как в файле Coffeescript. Переименуйте файл в rfq.js или преобразуйте его в файл coffeescript:

$ ->
  $('#need_report').change ->
    if $(this).val()
      $('#report_language').hide()

Ответ 2

Вы можете встроить обычный javascript, окружая код с помощью back-ticks "`". Я бы хотел, чтобы он работал так же, как и другие языки синтаксического анализа... Мне потребовалось много ненужной отладки и поиска, чтобы понять это. http://coffeescript.org/#embedded

Ответ 3

Возможно, вы написали код JavaScript в файл с расширением .coffee, вы можете использовать js2.coffee, чтобы преобразовать ваш код с JavaScript в CoffeeSecript