var Tweet = Backbone.Model.extend({
defaults: function()
{
return
{
author: ''
status: ''
}
}
});
根据语法应该是
author: '',
status: ''
但这会在代码工作但没有产生输出的情况下提供错误
答案 0 :(得分:3)
你陷入了一个名为automatic semicolon insertion的陷阱。具体来说,必须是return
和{
之间的换行符
var Tweet = Backbone.Model.extend({
defaults: function() {
return { // !!!
author: '',
status: ''
}; // as a convention, I add ; always here, though not strictly needed.
}
});
否则Javascript认为这是2个语句:
return;
只返回值undefined
和
{
author: '';
status: '';
}
这是一个块复合语句,其中有2 labels:author:
和status:
,每个后跟一个无操作的字符串文字表达式语句''
。在,
行之后添加author: ''
会导致语法错误,因为语句不能以逗号结尾/逗号后面不能有标签。