【问题标题】:Syntax Errors with valid jquery/ javascript syntax?具有有效 jquery/javascript 语法的语法错误?
【发布时间】:2013-11-25 14:13:58
【问题描述】:

有谁知道为什么 Aptana 3 将 jquery-ui 文档中的某些代码识别为错误?例如,

{
        "title":
            "Accordion Widget",
        "excerpt":
            "Convert a pair of headers and content panels into an accordion.",
        "termSlugs": {
            "category": [
                "widgets"
            ]
        }
    }

语法错误:意外的标记“:”

【问题讨论】:

  • 那么错误是什么?
  • 你不应该在script 标签内使用var X = {...}; 吗?没有它就没有意义/功能。或者至少将其作为函数参数传递。

标签: javascript jquery aptana


【解决方案1】:

这些脚本块似乎包含 JSON 而不是 JavaScript,但它们没有 type 属性来说明(JavaScript 是脚本元素的默认数据类型)。结果,它们被解析为 JavaScript 并引发错误。

{ 被视为块的开头而不是对象字面量,"title" 然后是字符串字面量而不是属性名称,: 是错误)

【讨论】:

  • 谢谢。那我应该怎么配置才能让aptana识别呢?
  • 配置?我想你可以完全关闭 JavaScript 语法检查。该工具正在做正确的事情,该代码中有 is 错误。如果我正在写那个,那么我会在脚本元素中添加type="application/json"(或者,更有可能的是,重新考虑我是如何首先将这些数据添加到文档中的)。
  • 它是 jquery 的文件夹部分,所以我不认为我可以改变它...谢谢。
  • @lauthiamkok 添加type 是正确的做法:这似乎是W3 spec 所称的“数据块”——@987654327 中保存的非脚本数据@ 堵塞。这种做法是合法的(并在规范中的示例中明确说明),但规范要求数据块必须指定不可运行的type(如text/plain)。
  • @lauthiamkok 您应该将type 字段添加到内容正在生成错误的<script> 块中。
【解决方案2】:

看起来您的开发环境正在将对象文字解析为语句块(这可能是正确的做法,因为 Javascript 解析器本身并不总是将花括号视为对象文字)。

如果是这样,那么字符串文字后面的冒号确实是语法错误。

【讨论】:

  • 谢谢。那么它必须在我的开发环境配置中磨损?
  • @lauthiamkok,我会冒险说你应该​​删除那个脚本。它仅用于文档目的,您的环境很可能拒绝它是合法的。或者,作为一种快速修复,您可以在第一个花括号之前放置一个 ! 运算符。它将强制将构造解析为对象文字,并且您的环境应该停止抱怨。
  • 谢谢。是的,我认为我应该从 jqeury ui 中删除该文档文件夹。好主意!
猜你喜欢
  • 2013-08-19
  • 2018-04-22
  • 2011-11-26
  • 2014-06-08
  • 2014-08-05
  • 2017-10-20
  • 2021-08-21
  • 1970-01-01
相关资源
最近更新 更多