仅供参考3/4
JavaScript的语句直接是用分号(;)来隔离的。
<html>
<body>
<script>
alert('hello');
alert('world');
</script>
</body>
</html>
空格和tab会被自动忽略,上述语句放在一行写也是可以的。
alert('Hello'); alert('World!');
但是换行符并不会被忽略,换行符起到了分号(;)的功能。
分号(;)缺失“陷阱”
JavaScript初学者写多条语句时常常会在分号上栽跟头。
陷阱1
下面的语句是不会运行的
var a="long
line"
语法分析程序会把它解释为
var a = "long;
line ";
有未完结的字符串时(缺少反引号)会报错。
陷阱2
下列语句不能得到你想要的结果
return
result;
它被解释为
return;
result;
这和
return result;
明显不同。
如果你想得到正确的答案,转义符()(反斜线)可以帮你。下列语句可以正确运行。
return \
result;
var a = "long \
line "
如果一个表达式没有结束,换行也会被忽略。下面的代码都是可以正常运行的,有些奇怪,不过事实就是这样。
var a = "long " +
" line "
var b = 2 + (
2 + 3
)
var b = 2 * 2
+ 4
alert(b)
总的来说,在大多数情况下,在结尾省略分号(;)是可行的,但是这样可能会导致一些莫名奇妙的bug,关于是否写分号,一直以来到存在争议,不过越来越多的人认为在结尾处加上分号是一个好习惯。
网友评论