Coffeescapet语法:结构错误
Coffeescript Syntax: Structure is wrong
我简化了代码以显示问题。当我使用这个Coffeescapet片段时:
$("<div>")
.text "hi"
.appendTo "body"
我希望它编译成这样:
$("<div>").text("hi").appendTo("body")
取而代之的是:
$("<div>").text("hi".appendTo("body"))
我发现你可以保留括号,这很有效,但我想这不是你应该写Coffeescapet的方式。
有人能告诉我应该如何编写它,以便它编译成所需的输出吗?非常感谢。
就一个好的风格而言,只有当语法扰乱了你的意图时,你才应该省略语法。在这种情况下,省略它们将失去您的意图。形式遵循功能。这里需要括号来声明先例,Coffeescept因此支持它们。
我发现你可以保留括号,这很有效,但我想这不是你应该写Coffeescapet的方式。
CoffeeScript中的括号是可选的,但这并不意味着你不应该使用它们。请随意使用它们!在某些情况下,就像你的情况一样,它们甚至是必需的。
对我来说,使用可选括号的最大优势是匿名回调和其他情况,否则括号会跨越几行,比如:
foo 'bar', (err, res) ->
# Do stuff
对我来说,这比要好
foo('bar', (err, res) ->
# Do stuff
)
但即使这是你的风格,也要坚持下去!
所以,总结一下,只需写:
$("<div>")
.text("hi")
.appendTo("body")
编辑:甚至
$("<div>").text("hi").appendTo("body")
然而,在这种特殊的情况下,你当然可以这样做:
$("<div>", text: "hi").appendTo("body")
TIMTOWDY;)
coco和livescript(在npm或github上)都是从coffeescript派生的,并且更"空间敏感",这允许您执行:
$ "<div>" .text "hi" .appendTo "body"
和
$("<div>")
.text "hi"
.appendTo "body"
两者都编译为
$("<div>").text("hi").appendTo("body");
相关文章:
- Coffeescapet语法:结构错误
- 与restify一起,我的帖子显示了一个“;将循环结构转换为JSON”;错误
- io.sockets.clients()给出错误“”;将循环结构转换为JSON”;
- 循环结构错误 .postJSON 数据
- 如何序列化全日历源.将循环结构转换为 JSON 错误
- 嵌套视图模型结构导致 ko.computing 错误
- 类型错误:将循环结构转换为 JSON:有没有办法忽略此警告
- 在本机错误对象调用函数's结构
- 由于回调结构中可能存在错误,无法使超时工作
- "未捕获的层次结构请求错误:createTextNode之后的新行标记
- Ember.js - Pod结构中的错误状态
- 呈现递归结构-未关闭标记错误
- 在简单查询中将循环结构转换为json错误
- 使用不同数据结构的ajax错误处理方法
- 动态打开和关闭订阅以限制缓存接收未捕获类型错误:将循环结构转换为json
- AngularJs解决了由循环JSON结构引起的错误
- MongoDB 和 Express:类型错误:将循环结构转换为 JSON
- Neo4j 会话 .catch 错误:结构(127,[[对象对象]])
- 这是使用javascript进行代码语法错误检测的基本结构
- 未捕获的类型错误:转换圆形结构JSON(仅在Chrome上)