【问题标题】:Missing semicolon in JSONWithPaddingJSONWithPadding 中缺少分号
【发布时间】:2013-05-07 16:24:32
【问题描述】:

JSONWithPadding的结果最后少了分号:

 JSONWithPadding jsonWithPadding = new JSONWithPadding({"key":"value"}, "cb");
 return Response.status(200).entity(jsonWithPadding).build();

预期:

cb({"key":"value"});  --> with semicolon

实际:

cb({"key":"value"})  --> without semicolon

有什么想法吗?

【问题讨论】:

  • 为什么要分号?在 Javascript 中,分号字符在大多数情况下是可选的。
  • 嗬,我不知道它是可选的。什么情况下是强制的?
  • 这个过程被称为自动分号插入 (ASI),在 stackoverflow.com/questions/2846283/… 上有很好的介绍,它对要点的总结比我在评论中写的要好。

标签: java jsonp


【解决方案1】:

分号没有丢失,它在(本示例和)大多数情况下是可选。所以JSONWithPadding 类工作正常。

ECMAScript 语言规范定义了 7.9.1 Rules of Automatic Semicolon Insertion,总结自 JavaScript and Semicolons

某些 ECMAScript 语句(空语句、变量语句、表达式语句、do-while 语句、continue 语句、break 语句、return 语句和 throw 语句)必须以分号结束

What are the rules for JavaScript's automatic semicolon insertion (ASI)? 也很好地介绍了这一点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-09-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多