var f = function (){} 后面应跟分号

作者:vkvi 来源:ITPOW(原创) 日期:2010-5-23

在 JavaScript 中,分号用于结束一句语句,虽然语句后面无其他内容时也可以省略,但大家一般都不省略,这的确是好的做法。只是有一种情况下容易被人忽略,先看下面的语句:

function f1(){alert("f1");}function f2(){alert("f2");}
f1();f2();

两个 function 写在一行,function 没有用分号结尾,当然这不会报错。

可是现在流行另一种写法:

var f1 = function (){alert("f1");}var f2 = function (){alert("f2");}
f1();f2();

不是指定函数名,而是将匿名函数赋给一个变量。此时就必须有分号了,所以上面的代码会报错。正确的写法:

var f1 = function (){alert("f1");};var f2 = function (){alert("f2");};
f1();f2();

可能您会说,我并不会把 f1 和 f2 写在一行,所以我不用分号结尾也不会报错,的确,如果没写在一行,没有写分号也不会报错。但是如果执行了 JavaScript 压缩,很可能会将其弄在一行,而如果压缩程序不够聪明,无法自动添加分号时,我们的程序就会报错了。

相关文章