while 循环的 CoffeeScript 替代语法
CoffeeScript alternative syntax for a while loop
我有这个函数是用 CoffeeScript 写的,我觉得应该写得更好:
addCSS = (files) ->
i = files.length - 1
while i >= 0
$("<link/>",
rel: "stylesheet"
href: files[i]
).appendTo $("head")
i--
return
files
arg 只是一个文件路径数组。
在 CoffeeScript 中是否有更多 succinct/cleaner 的写法?
简单
addCSS = (files) ->
for file in files
$("<link/>",
rel: "stylesheet"
href: file
).appendTo $("head")
(也不需要 return,尽管它确实可以防止咖啡 return 喝一堆东西)
如果您想知道,由于 JS 具有 for ... in
循环的可怕行为,它被编译为
for (_i = 0, _len = files.length; _i < _len; _i++) {
file = files[_i];
// ...
}
编辑
我刚才才知道你是把数组倒过来,所以会是
for file in files by -1
(自 1.5.0 起支持)
编译为 for (_i = files.length - 1; _i >= 0; _i += -1) {
我有这个函数是用 CoffeeScript 写的,我觉得应该写得更好:
addCSS = (files) ->
i = files.length - 1
while i >= 0
$("<link/>",
rel: "stylesheet"
href: files[i]
).appendTo $("head")
i--
return
files
arg 只是一个文件路径数组。
在 CoffeeScript 中是否有更多 succinct/cleaner 的写法?
简单
addCSS = (files) ->
for file in files
$("<link/>",
rel: "stylesheet"
href: file
).appendTo $("head")
(也不需要 return,尽管它确实可以防止咖啡 return 喝一堆东西)
如果您想知道,由于 JS 具有 for ... in
循环的可怕行为,它被编译为
for (_i = 0, _len = files.length; _i < _len; _i++) {
file = files[_i];
// ...
}
编辑
我刚才才知道你是把数组倒过来,所以会是
for file in files by -1
(自 1.5.0 起支持)
编译为 for (_i = files.length - 1; _i >= 0; _i += -1) {