可能重复:
What are the rules for Javascript's automatic semicolon insertion?我听说Javascript插入“;”自动可能导致问题的
我也听说围棋插入他们太多,但他们遵循不同的approach
如何使用Javascript在解释时插入分号?
任何提及将是有益的
可能重复:
What are the rules for Javascript's automatic semicolon insertion?我听说Javascript插入“;”自动可能导致问题的
我也听说围棋插入他们太多,但他们遵循不同的approach
如何使用Javascript在解释时插入分号?
任何提及将是有益的
我发现的最大的事情之一就是让我们假设你有一个返回坐标的函数(或者任何对象),与此类似。
function getCoordinates() {
return
{
x: 10,
y: 10
};
}
你会期望找回对象吗?错误!你回到未定义。解释器的代码转换成这个
function getCoordinates() {
return;
{
x: 10,
y: 10
};
}
由于return
本身是一个有效的语句。你需要确保写回报如下
function getCoordinates() {
return {
x: 10,
y: 10
};
}
是教我这个特殊功能的缺陷的例子是在this one“奇怪的语言功能?”题。 (这就是为什么我重新开放这个问题,顺便说一句 - 这是一个宝贵的学习资源。)
很好的参考材料可以在这里找到:What are the rules for Javascript's automatic semicolon insertion?
的Javascript假设语句的结束,在任何线路中断,其中这是可能的。例如,这:
return
true;
被解释为:
return;
true;
转动返回,它的参数分成两个独立的语句,这当然意味着该函数没有返回值(返回未定义)。
我写了一个blog entry关于那段时间回来。
是的,我只是张贴相同的东西。 – CaffGeek 2010-10-29 17:14:48
是的,我已经发布了相同的东西。 ;)不管怎么样,你*不会返回null,你会得到undefined。 – Guffa 2010-10-29 17:18:10
@Guffa,正确。并纠正。 – CaffGeek 2010-10-29 17:24:13
我离开我的生活至少40分钟,现在很生气。 – 2015-04-30 13:33:15