web-dev-qa-db-ja.com

ExecJS :: ProgramError:SyntaxError:予約語「関数」

Rails rfq.js.coffeeには、単純なjsコードしかありません:

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

ただし、このコードは、最初の行のfunction()が予約語であることを示すエラーを引き起こします。最初の行は基本的にjquery $(document).ready(function () {})であるため、このエラーが発生する理由はわかりません。それについての考えは?本当にありがとう。

32
user938363

Coffeescriptファイルでそのような標準のJSを使用することはできません。ファイルの名前をrfq.jsに変更するか、それをcoffeescriptに変換します。

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

コードをバックティック「 `」で囲むことにより、通常のJavaScriptを埋め込むことができます。他の構文解析言語と同じように機能することを願っています...それを理解するために、多くの不必要なデバッグと検索が必要でした。 http://coffeescript.org/#embedded

8
hourwise

たぶん、JavaScriptコードを拡張子.coffeeのファイルに書き込んだかもしれません js2.coffee を使用して、コードをJavaScriptからCoffeeSecriptに変換できます

1
hguzman