在 Firefox 中,我收到了一个奇怪的语法错误,因为这不是微不足道的,我想在这里发布一个有趣的语法错误,因为我不知道它正在发生。
应该将此作为错误报告归档吗?
我正在从这里测试一些脚本:here
它给了我一个语法错误。 语法错误:第 5 行的标签无效
。
app.directive("alertable", function()
{
return
{
restrict : "A",
link: function(scope, element, attrs)
{
element.bind("click", function()
{
alert(attrs.message);
});
}
};
});
而这个,不要:
app.directive("alertable", function()
{
return { // fix???
restrict : "A",
link: function(scope, element, attrs)
{
element.bind("click", function()
{
alert(attrs.message);
});
}
};
});
最佳答案
此行为是设计使然。
Javascript 中的分号是可选的。 ( ASI )
解析器在 return
行之后插入一个隐式分号,并假定 {
开始一个代码块。 (比如在 if
或 for
之后)
该代码块中的第一行实际上不是有效代码,因此您会收到该错误。
发生这种情况是因为 return
是带操作数和不带操作数的有效语句。
同理,代码
return
4;
被解析为返回; 4;
。
关于javascript - 奇怪的javascript语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17512212/