首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当bug出现时,括号在coffeescript中工作?

为什么当bug出现时,括号在coffeescript中工作?
EN

Stack Overflow用户
提问于 2011-06-20 13:43:43
回答 1查看 543关注 0票数 1

如果我想得到这样的js代码,它是从coffeescript编译的:

代码语言:javascript
复制
  var sortableTodos = new Sortables("todo-list", {
constrain: true,
clone: true,
handle: ".todo-content",
onComplete: function(ele){
  sortableTodos.serialize(false, function(element, index){
    todo = Todos.get(element.getProperty("id").replace("todo-", ""));
    todo.save({"order": index});
  });
}
});

我不能像下面这样写咖啡代码:

代码语言:javascript
复制
sortableTodos = new Sortables(
"todo-list"
(
    constrain: true
    handle: '.todo-content'
    onComplete:(ele)->
        sortableTodos.serialize false, (element,index)->
                todo = Todos.get(element.getProperty("id")).replace("todo-","")
                todo.save("order":index)

)   
   )

但是下面的工作(在onComplete之后得到括号)

代码语言:javascript
复制
sortableTodos = new Sortables(
"todo-list"
(
    constrain: true
    handle: '.todo-content'
    onComplete:((ele)->
        sortableTodos.serialize false, (element,index)->
                todo = Todos.get(element.getProperty("id")).replace("todo-","")
                todo.save("order":index)
               )
)   
  )  

我不知道为什么?是虫子吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-20 14:55:24

当涉及到跨多行拆分函数参数时,CoffeeScript解析器有许多奇怪之处。(见第1135期.)函数的多行参数仅允许在省略括号时用于YAML样式的对象。所以当

代码语言:javascript
复制
func
  foo: bar
  x: y

工作(编译将单个对象传递给func),其他参数通常需要与func位于同一行。或者,可以在行尾使用\转义,如JS中的那样,使编译器将多行视为一行:

代码语言:javascript
复制
func \
  a  \
  b

最好的解决方法是将字符串移动到与函数调用相同的行,去掉对象文字周围的括号(如果愿意,可以使用大括号),并与缩进保持一致:

代码语言:javascript
复制
sortableTodos = new Sortables("todo-list", {
    constrain: true
    handle: '.todo-content'
    onComplete: (ele) ->
        sortableTodos.serialize false, (element,index) ->
            todo = Todos.get(element.getProperty("id")).replace("todo-","")
            todo.save("order":index)
})
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6412151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档