ExecJS::ProgramError:SyntaxError:保留字"函数”;

ExecJS::ProgramError: SyntaxError: Reserved word "function"

本文关键字:函数 quot 保留字 ProgramError SyntaxError ExecJS      更新时间:2023-09-26

在我们的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 () {}),我们不知道为什么会出现这个错误。有什么想法吗?非常感谢。

不能在Coffeescript文件中使用这样的标准JS。将文件重命名为rfq.js,或者将其转换为coffeescript:

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

您可以通过用反勾号"`"包围代码来嵌入常规javascript。我希望它也能像其他解析语言一样工作。。。我花了很多不必要的调试和搜索才弄明白这一点。http://coffeescript.org/#embedded

也许您将JavaScript代码写入扩展名为.coffee的文件中,您可以使用js2.coffee将代码从JavaScript转换为CoffeeSecript