为什么不工作?
如果我为字符串值更改变量msg,它会起作用。
代码:
console.log full_messages # Array [ "text to be displayed" ]
for msg in full_messages
$('#error_explanation ul').append('<li>'+ msg +'</li>')
错误讯息:
TypeError:msg不是函数
答案 0 :(得分:2)
你的问题出现在你的空白区域(或缺少空白区域):
coverageExcludedPackages := "<empty>;Reverse.*;router\\.*"
CoffeeScript认为其中的第二个'<li>'+ msg +'</li>'
是一元运算符,所以整个事情被解释为:
+
如果在二元运算符的两边放置空格:
'<li>' + msg(+'</li>')
然后CoffeeScript会做你期望的事情。 经验法则:始终在二元运算符的两边放置空格。
你也可以使用字符串插值:
'<li>' + msg + '</li>'
# ^^^ ^^^
这与"<li>#{msg}</li>"
完全相同,但(可以说)更具可读性和惯用性。