我有这个用CoffeeScript编写的函数,我觉得应该写得更好:
addCSS = (files) ->
i = files.length - 1
while i >= 0
$("<link/>",
rel: "stylesheet"
href: files[i]
).appendTo $("head")
i--
return
files
arg只是一个文件路径数组。
在CoffeeScript中有更简洁/更清晰的方法吗?
答案 0 :(得分:1)
一个简单的
addCSS = (files) ->
for file in files
$("<link/>",
rel: "stylesheet"
href: file
).appendTo $("head")
(也不需要返回,虽然它确实可以防止咖啡返回一堆东西)
如果您想知道,由于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) {