《JavaScript精粹(修订版)》——1.6 使用括号和分号结束符(一致的编码方式)-阿里云开发者社区

开发者社区> 异步社区> 正文

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

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

本节书摘来自异步社区《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)
{
┆
};

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
流操作结束后,一定要调用close(). java有垃圾回收器, 这样做是多此一举吗?
流不单在内存中分配了空间,也在操作系统占有了资源, java的gc是能从内存中回收不使用的对象, 但对操作系统分配的资源是无能为力的, 所以就要调用close()方法来通知OS来释放这个资源。
588 0
使用重构件(Codemod)加速 JavaScript 开发和重构
本文讲的是使用重构件(Codemod)加速 JavaScript 开发和重构,在花园里耕耘乐趣无穷,但如果除草不勤,最后收获可能是一团揪心。漏掉一次除草本身可能并无大碍,但积少成多最后会毁掉整座花园。没有杂草的花园让维护工作神清气爽。这个道理对代码库也类似。
1800 0
怎么设置阿里云服务器安全组?阿里云安全组规则详细解说
阿里云服务器安全组设置规则分享,阿里云服务器安全组如何放行端口设置教程
6417 0
从此不再惧怕URI编码:JavaScript及C# URI编码详解
混乱的URI编码   JavaScript中编码有三种方法:escape、encodeURI、encodeURIComponent   C#中编码主要方法:HttpUtility.UrlEncode、Server.UrlEncode、Uri.EscapeUriString、Uri.EscapeDataString   JavaScript中的还好,只提供了三个,C#中主要用的就有这么多,还没有列出其他编码(HTML),一多就弄不明白,弄不明白就心生恐惧,心生恐惧就变得苦逼,本文就向大家详细解释在JavaScript及C#中如何对URI进行编码的方法(注:本文不涉及到其他编码)。
727 0
Javascript用递归的方式遍历json数组
前言 Javscript语言有很多值得探究和注意的地方,下面我们来看一下用递归的方式遍历JSON对象数组。
1214 0
IOS使用CFURLCreateStringByAddingPercentEscapes进行URL编码
<p style="border-width:0px; padding-top:0px; padding-bottom:0px; margin-top:0px; margin-bottom:8px; list-style:none; text-indent:2em; color:rgb(51,51,51); font-family:宋体; font-size:14px; line-heig
1174 0
JavaScript创建对象的方式!
  JavaScript创建对象的方式!JavaScript创建对象的方式有很多,通过Object构造函数或对象字面量的方式也可以创建单个对象,显然这两种方式会产生大量的重复代码,并不适合量产。接下来介绍七种非常经典的创建对象的方式,他们也各有优缺点。
613 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
11938
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载