JavaScript风格要素

本文介绍了JavaScript Guru Douglas Crockford提出的JavaScript编程风格建议,包括代码结构、变量声明等方面的最佳实践,以及如何提升代码的可读性和可维护性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

关于英文的写作有一本十分著名的书,The Elements of Style (风 格要素),编写程序也有一本The Elements of Programming Style (编程风格要素)。证明了在某种程度上,编写程序其实就是语文写作,清晰的风格对 程序的质量有着重要的影响。草率含混的风格会隐蔽程序真性。

作为JavaScript Guru, Douglas Crockford 提出了自己对JavaScript风格 的创见(第一部分第二部分 )。

第一部分 主要讨论JavaScript语言本身,包括:

  • 淘汰过时的构建。

    讨论了在HTML页 面引入JavaScript的方式。经典的写法是:

    <script language=javascript><!--
    --></script>

    language 并 不是W3C所认同的标准,建议使用的是type , 但作为type 值的MIME type并没有标准化(有时是text/javascript , 有时是application/ecmascript),但目前所有的浏览器都是使用JavaScript作为默认的脚本语言,因此仅仅些<script>就是安全的。随着NetScape 3的淘汰, <-- --> 也不是必要的了。

    (注:这个东西Web标准社区也有自己的看法,并认为应该写type="text/javascript" ,我也赞成。)

  • 在 结构中始终使用区块。

    莫偷懒,省略区块(即{ } ) 会引发不经意的错误和麻烦。即使只有一句,也老老实实写上:

    if (expression) { ... }
    
  • 避 免在表达式中进行赋值。 虽然可以使代码紧凑,但会让控制流程难于理解。
  • 使用对象扩充。 在 不需要构造函数的对象中,不如先创建一个空对象,然后扩充它。
  • 使用通用库。 注意提高代码的重用。

第二部分主要讲的是一些使程序更清晰和简洁的习惯用法:

  • 使用== 得当心强类型。 1 == true 是真,但1 === true 却为假。
  • 使用?: 运 算符选择两值之一。 在这种操作中,三元运算符为此而生。
  • 永远不要使用隐含的全局变量。 请 记得声明变量时加上var .
  • 不 要使用?: 来选择两种行为的其一。 写作p.style.backgroundColor = z ? '#fff' : '#989898'; 而 不是(z == 0) ? p.style.backgroundColor = '#fff' : p.style.backgroundColor = '#989898';
  • 使 用|| 来指定一个默认值。 最典型的莫过于处理事 件参数了:var e = e || event;
  • 全 局变量是邪恶的。
  • 使用内部函数来避免全局变量。

这 些风格是Crock在2005年提出的,现在有些已经深入人心(如不要使用全局变量),因而也没有必要多做解释了。如果你有所疑惑,不如详细看看这两篇风 格文章,里面有大量的代码来举证这些风格的重要性。

更新: Dojo的风格指南 也不错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值