文档章节

JavaScript语言精粹学习笔记(一)

小微
 小微
发布于 2012/12/27 17:21
字数 538
阅读 196
收藏 12

《JavaScript语言精粹》相比《JavaScript权威指南》而言,是一本太薄的书了。然而也许正因为小而精,所以难有权威指南那样阅读起来浅显易懂却又醍醐灌顶般的感觉,语言精粹还是略微感觉有些艰涩难懂。不过,就像作者说的那样,这是一本需要反复阅读和回味的书。

下面总结一些精粹中的精粹吧。

(一)代码风格

保持良好代码风格的重要性对任何编程语言都是一样的。这里是作者总结的js的一些不错的编程风格。

(1)空格的使用:

  1. 代码块内容和对象字面量缩进4个空格。
  2. 把一个空格放在 if 和 ( 之间,使之看上去不同于函数调用。
  3. 除了 . 和 [ 之外的所有中置运算符的两边都放了空格。

(2)语句的分行:

  1. 每行最多放一个语句。
  2. 一个语句一行放不下的话,则在一个冒号或二元运算符后拆开它,折断后的语句其余部分多缩进4个空格。

(3)代码块的使用:

  1. 在诸如 if 和 while 这样结构化的语句里,我始终使用代码块。
  2. 使用K&R风格,把 { 放在一行的结尾而不是下一行的开头。

(4)注释的使用:

  1. 保持注释始终是最新的。
  2. js代码中多采用行注释,块注释多用于正式的文档记录和注释。
  3. 程序结构本身能进行自我说明。

(5)js天生的设计问题:

js有些特性本身的设计便不太合理,稍不注意就会出错。因此使用时要尽量避免由此而产生的问题。

  1. 避免那些看起来像有错误(但在js中实际正确)的习惯用法。
  2. 把注意力放在那些有时很有用但偶尔很危险的特性上。
  3. 对一个脚本应用或工具库,我只用唯一一个全局变量。
  4. 使用对象去管理代码。
  5. 使用闭包。

© 著作权归作者所有

共有 人打赏支持
小微
粉丝 117
博文 78
码字总数 81696
作品 0
海淀
程序员
私信 提问
如何轻松快速学习JavaScript 呢?

JS给人那种感觉的原因多半是因为它如下的特点: 1:本身知识很抽象、晦涩难懂,如:闭包、内置对象、DOM。 2:本身内容很多,如函数库,对象库就一大堆。 3:混合多种编程思想。 4:辛苦学习...

课工场CC老师
2017/11/04
0
0
如何学习Javascript?你是入门,还是精通?

首先要说明的是,咱现在不是高手,最多还是一个半桶水,算是入了JS的门。   谈不上经验,都是一些教训。   这个时候有人要说,“靠,你丫半桶水,凭啥教我们”。您先别急着骂,先听我说。...

coffeescript
2014/07/23
389
0
《javascript语言精粹》读书笔记(一)

第一章 精华 任何语言都有其精华的部分和鸡肋的部分,javascript也不例外,而且鸡肋的部分还很多。但javascript的流行却不受他的质量影响。javascript为何如此流行?因为他是web浏览器的语言...

倪闯
2015/03/11
0
3
零基础的网站开发初学者如何系统的学习?

A.学习背景 开始网站开发,起先是从手机网站的UBB语法开始的,也因此有了深入学习的兴趣。为了让学习的热情膨胀,我有意的培养这一爱好 ,定位了自己要成为一名优秀的网站开发员的目标。 作为...

李佳顺
2012/12/25
0
3
网易音乐前端实习程序员面试的10个问题,你会几个?

近日,w3cschool app开发者头条上分享了网易音乐前端实习程序员面经,引来了不少程序员粉丝们的围观。 在分享网易音乐前端实习面试问题之前,w3cschool先跟小伙伴们分享前端学习干货: 0、h...

W3Cschool
2018/04/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java单例模式学习记录

在项目开发中经常能遇见的设计模式就是单例模式了,而实现的方式最常见的有两种:饿汉和饱汉(懒汉)。由于日常接触较多而研究的不够深入,导致面试的时候被询问到后有点没底,这里记录一下学习...

JerryLin123
昨天
2
0
VSCODE 无法调试

VSCODE 无法调试 可以运行 可能的原因: GCC 的参数忘了加 -g

shzwork
昨天
3
0
理解去中心化 稳定币 DAI

随着摩根大通推出JPM Coin 稳定币,可以预见稳定币将成为区块链落地的一大助推器。 坦白来讲,对于一个程序员的我来讲(不懂一点专业经济和金融),理解DAI的机制,真的有一点复杂。耐心看完...

Tiny熊
昨天
4
0
5.线程实现

用于线程实现的Python模块 Python线程有时称为轻量级进程,因为线程比进程占用的内存少得多。 线程允许一次执行多个任务。 在Python中,以下两个模块在一个程序中实现线程 - _thread 模块 th...

Eappo_Geng
昨天
4
0
ServiceLoader

创建一个接口文件在resources资源目录下创建META-INF/services文件夹在services文件夹中创建文件,以接口全名命名创建接口实现类 内容me.zzp.ar.d.PostgreSQLDialectme.zzp.ar.d.Hype...

Cobbage
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部