Javascript / Coffeescript追加TypeError:不是函数

时间:2017-06-03 15:04:07

标签: javascript coffeescript

为什么不工作?

如果我为字符串值更改变量msg,它会起作用。

代码:

console.log full_messages # Array [ "text to be displayed" ]
for msg in full_messages
  $('#error_explanation ul').append('<li>'+ msg +'</li>')

错误讯息:

  

TypeError:msg不是函数

1 个答案:

答案 0 :(得分:2)

你的问题出现在你的空白区域(或缺少空白区域):

coverageExcludedPackages := "<empty>;Reverse.*;router\\.*"

CoffeeScript认为其中的第二个'<li>'+ msg +'</li>' 是一元运算符,所以整个事情被解释为:

+

如果在二元运算符的两边放置空格:

'<li>' + msg(+'</li>')

然后CoffeeScript会做你期望的事情。 经验法则:始终在二元运算符的两边放置空格。

你也可以使用字符串插值:

'<li>' + msg + '</li>'
#     ^^^   ^^^

这与"<li>#{msg}</li>" 完全相同,但(可以说)更具可读性和惯用性。