《JavaScript精粹(修订版)》——1.6 使用括号和分号结束符(一致的编码方式)...

    xiaoxiao2024-01-16  158

    本节书摘来自异步社区《JavaScript精粹(修订版)》一书中的第1章,第1.6节,作者:【英】Edwards, J. , 【澳】Adams, C.著,更多章节内容可以访问云栖社区“异步社区”公众号查看

    1.6 使用括号和分号结束符(一致的编码方式)

    在很多JavaScript的操作中,括号和分号是可选的,那么,既然是可有可无的,它们的价值何在?

    方 法虽然括号和分号通常是可选的而非必需的,但还是应当尽量多使用这两个符号,这样可以使其他人更容易阅读代码,甚至也有助于自己以后阅读代码,而且通过复用和重新组织代码,可以避免很多问题。

    举个例子,如下的代码确实能够正常地工作:

    文件:semicolons-braces.js (excerpt)

    if (something) alert('something') else alert('nothing')

    不过,这样的代码能够正常工作应该归功于JavaScript解释器自动插入分号的能力。每当解释器发现被截断的位于不同行的两段相邻代码,而且这些代码段单列在一行上会毫无意义,解释器就会在段之间插入分号。通过类似的机制,用于if-else语句的括号即使不存在也能够根据语法被推断出来,实际上是解释器做了查遗补漏的工作。

    虽然这些符号不是必需的,但是如果坚持使用它们,就会发现这些符号既容易记忆也容易使用,而且写出的代码更容易阅读。

    下面是一个稍微好一点儿的例子:

    文件:semicolons-braces.js (excerpt)

    if (something) { alert('something'); } else { alert('nothing'); }

    不过下面这个例子具有最佳的可读性:

    文件:semicolons-braces.js (excerpt)

    if (something) {  alert('something'); } else {  alert('nothing'); }

    使用函数显式声明

    如果对JavaScript的复杂部分已经有了一些经验,那么可能会经常通过函数显式声明来创建匿名函数,并且将匿名函数赋值给JavaScript的变量或者对象的属性。在下面的代码中,定义的函数后面需要跟一个分号,因为其实它算是一个赋值语句。

    var saySomething = function(message) { ┆ };
    最新回复(0)