日期:2014-05-16  浏览次数:20446 次

javascript语言中的左花括号和其他语言的位置不同的原因之一
Javascript代码中分号是可选的,所以初学者写代码就简单多了。但是很不幸的是如果忽略了分号并不会给任何人带来方便。结果是当解释器遇到错误时,必须追溯并尝试去猜测因为哪些分号漏写导致的问题。
这里有一个经典的例子:
return
{
    a: "hello"
};

上面的代码并不会返回一个对象,而是返回了undefined - 但是也没有错误抛出。其实是因为分号自动加到了return语句后面,其他的代码都是非常正确的,但是就是什么都不执行,这就证明了在 javascript中,左花括号应该紧跟这一行而不该换行,这不只是一个编程风格的问题。下面的代码才会正确返回一个属性为a的对象:
return {
    a: "hello"
};
2楼han_yankun20091小时前
嗯,明白了
1楼lidaasky6小时前
容易忽略的细节,学习了