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

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)
{
┆
};
时间: 2024-10-22 06:53:07

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

《JavaScript精粹(修订版)》——1.3 JavaScript的最佳实践

1.3 JavaScript的最佳实践 JavaScript实践遇到的一个最大的问题是,如果用户的浏览器根本就不支持JavaScript怎么办?如果用户关掉了浏览器对JavaScript的支持呢?再或者因为某些原因,用户使用了别的不支持JavaScript的技术怎么办? 这个问题一言难尽,第16章将详细讨论解决方法.下面提出3条写好JavaScript代码的原则: 渐进增强. 为那些没有安装JavaScript的用户着想: 谨慎地编码. 内容和行为的隔离: 一致的编码方式. 使用括号和分号结束符

《JavaScript精粹(修订版)》——导读

**前言**对很多人来说,提起JavaScript,常常伴随着很多不愉快的记忆,例如讨厌的弹出式窗口.恼人的鼠标尾迹,还有令人沮丧的禁止鼠标右键的脚本.如果常常遇到这些脚本,就知道那是多么乏味和无聊.不过,JavaScript确实是一种成熟.专业的脚本语言,广泛地应用于现在的大多数网站,而且,它也几乎是所有基于Web的应用程序的关键性组件.别奇怪,我们确实是在谈论同一种技术. 当然,回顾过去,我认为很多人对JavaScript的感受还是比较准确的:JavaScript确实名声不太好,随着大量网站

《JavaScript精粹(修订版)》——1.9 隐藏JavaScript源代码

1.9 隐藏JavaScript源代码 如果您曾经创造过让自己骄傲的东西,您就会明白自己的智力成果是需要保护的.但是JavaScript是一种自然的源码开放的语言,它以源代码的方式被浏览器接收,所以,只要浏览器可以运行它,任何人也就可以阅读它. 网上有些程序宣称提供对源代码的加密,但其实没有什么加密方法能够保证别人无法解密.实际上,这些程序往往会造成麻烦,它们会重新格式化代码,这让代码运行更慢.更低效,甚至会因为错误而不能运行.想知道我的建议吗?干脆碰都不要碰那些所谓的加密程序. 不过,为了保护

《JavaScript精粹(修订版)》——1.11 严格的警告

1.11 严格的警告 当打开FireFox中的JavaScript控制台时就会发现显示警告和错误的选项.警告会提示您使用了旧的语法,或者用了与ECMAScript标准不一致的方法等,不过这不一定造成错误1. 例如,下面代码中的fruits变量被定义了两次: 文件:strict-warnings.js (excerpt) var fruit = 'mango'; if (basket.indexOf('apple') != −1) { var fruit = 'apple'; } 应该忽略第二个v

《JavaScript精粹(修订版)》——1.10 脚本调试

1.10 脚本调试 调试是一个查错改错的过程.绝大多数浏览器拥有内建的报告错误的功能,还有一些外部的调试工具也值得关注. 1.10.1 理解浏览器内建的错误报告 Opera.Mozilla浏览器(例如FireFox)以及Internet Explorer都拥有很好的内建的错误报告功能,不过Opera和Mozilla的调试工具最为有用. (1)Opera. 通过菜单Tools→Advanced→JavaScript console可以打开JavaScript控制台.也可以把它设置为遇到错误的时候自

《JavaScript精粹(修订版)》——1.7 给页面添加脚本

1.7 给页面添加脚本 要想让脚本工作,首先需要在页面中将其载入.有两种技术可以做到这一点,而其中一种技术明显优于另一种. 方 法 第一种,也是最直接的方法,是把代码写入script元素中,正像前面看见过的那样: <script type="text/javascript"> function saySomething(message) { alert(message); } saySomething('Hello world!'); </script> 这种方

《JavaScript精粹(修订版)》——1.5 内容和行为的隔离(谨慎地编码)

1.5 内容和行为的隔离(谨慎地编码) 将内容从行为中分离,意味着按照网页的结构分离出不同的层次来.Jeffrey Zeldman曾经将Web开发形容为"三条腿的板凳"1,分别是内容(HTML).表示(CSS).行为(JavaScript),他不仅指出三者在功能上的不同,同时也表明他认为这三者应该被互相隔离开来. 好的隔离方式将使得网站更容易维护,也更容易被理解和使用,同时对于老的或者支持特性较少的浏览器也能够提供相应的访问方式. 方 法 以下是一种极端情况,正好与理想的行为和内容互相

《JavaScript精粹(修订版)》——1.2 JavaScript的限制

1.2 JavaScript的限制 JavaScript通常被作为一种客户端语言使用,这里所说的客户端,一般是指终端用户的Web浏览器.在浏览器中,JavaScript代码被解释并被执行,这一点和服务端语言截然不同.所谓的服务端语言需要运行在服务器,并发送一些静态数据给客户端,例如PHP.ASP等. 由于JavaScript根本无法和服务器的环境打交道,很多任务是通过PHP实现的,例如读写数据库,或者创建一个文本文件等.不过因为JavaScript可以与客户端环境交互,所以它能够根据客户端信息来

《JavaScript精粹(修订版)》——1.8 让不同的脚本在同一页面中协同工作

1.8 让不同的脚本在同一页面中协同工作 如果几个脚本总是不能协同工作,那么很有可能是因为这些脚本试图对某给定元素的同一种事件处理赋予了不同的处理函数.因为每个元素对每个事件只有一个处理方法,所以同一个事件的处理会被不同的处理函数重复地替换. 方 法通常应该怀疑的是window对象的load事件处理,因为在同一页面中,只有一个脚本能够使用这个事件:如果两个或者多个脚本尝试使用该事件,那么最后一个脚本会将前面脚本的处理函数覆盖掉. 可以在load事件处理函数中调用多个函数,如下: window.o