最近在读《编写可维护的javascript》这本书,为了加深记忆,简单做个笔记,同时也让没有读过的同学有一个大概的了解。

一、编程风格

  程序是写给人读的,所以一个团队的编程风格要保持一致。

  1、缩进:一种是利用制表符缩进,一种是使用空格符缩进,各有利弊,任选一种,保持一致即可。个人比较喜欢制表符缩进。

  2、语句结尾需要加上分号,避免没必要的BUG。

  3、命名:首先要语义化,使用驼峰式命名法,小驼峰即首字母小写,之后每个单词首字母大写;大驼峰即首字母大写,之后同小驼峰;变量名前缀应该是名词(myName),函数名前缀应该是动词(getName),常量全部使用大写字母(MY_NAME),非常直观,构造函数使用大驼峰命名法(DateFormat)。

  4、注释:单行注释用//,多行注释用/**/,单行注释//之后总有一个空格,下一行代码缩进层级应与注释保持一致。难以理解或是容易被认为是错误的代码前应该加上注释。

  5、花括号对齐方式推荐这种:  

if(  ){

}else{

}

  不推荐这种:

if(  )
{ }
else
{ }

  6、避免使用with语句。

  7、for in 语句是用来遍历对象的属性值的,遍历数组请使用for循环

  8、在函数顶部定义变量,变量前一定要写上var语句,定义多个变量可以用逗号隔开,如:

var name = "wangmeijian",
age = 23,
sex = "boy";

  同时,字符串统一使用双引号。

  9、判断两个值是否相等时,使用===或!==,不推荐使用==和!=,因为javascript具有强制类型转换机制会造成意想不到的结果。

  10、javascript中,eval()不是唯一可以执行javascript字符串的函数,使用Function构造函数也可以做到,setTimeout()和setInterval()也可以。例如:

var wmj=new Function( "alert('Hi')" )
wmj() setTimeout( "document.body.style.background='red'",100 ); setInterval( "document.write('It is now"+ (new Date()) +"')",1000 ) //书上这个例子有错误,本文已更正

  这三种用法都比较少见。

  11、原始包装类型:先看一段代码

var name = "wangmeijian";
console.log( name.toUpperCase() );

  一个字符串是没有方法的,但你仍然可以使用toUpperCase()之类方法,这是因为在这条语句背后javascript引擎创建了String类型的新实例,紧跟着就被销毁了。String就是该字符串的原始包装类型。  

《编写可维护的javascript》读书笔记(上)的更多相关文章

  1. 编写可维护的Javascript读书笔记

    写在前面:之前硬着头皮参加了java方面的编程规范培训,收货良多,工作半年有余的时候,总算感觉到一丝丝Coding之美,以及造轮子的乐趣,以至于后面开发新功能的时候,在Coding style方面花了 ...

  2. 《编写可维护的JavaScript》 笔记

    <编写可维护的JavaScript> 笔记 我的github iSAM2016 概述 本书的一开始介绍了大量的编码规范,并且给出了最佳和错误的范例,大部分在网上的编码规范看过,就不在赘述 ...

  3. 编写可维护的javascript阅读笔记

    格式 变量 变量命名, 采取小驼峰大小写 变量使用名词, 函数前缀为动词 局部变量应统一定义在函数的最上面, 而不是散落在函数的任意角落. 赋初始值的定义在未赋初始值的变量的上面. 我个人建议不使用单 ...

  4. 读《编写可维护的javascript》笔记

    第一章 基本的格式化 缩进层级:推荐 tab:4; 换行:在运算符后面换行,第二行追加两个缩进: // Good: Break after operator, following line inden ...

  5. 《编写可维护的javascript》读书笔记(中)——编程实践

    上篇读书笔记系列之:<编写可维护的javascript>读书笔记(上) 上篇说的是编程风格,记录的都是最重要的点,不讲废话,写的比较简洁,而本篇将加入一些实例,因为那样比较容易说明问题. ...

  6. 【读书笔记】读《编写可维护的JavaScript》 - 编程实践(第二部分)

    本书的第二个部分总结了有关编程实践相关的内容,每一个章节都非常不错,捡取了其中5个章节的内容.对大家组织高维护性的代码具有辅导作用. 5个章节如下—— 一.UI层的松耦合 二.避免使用全局变量 三.事 ...

  7. 编写可维护的JavaScript代码(部分)

    平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点.看了<编写可维护的javascript代码>之后,做了些笔记. var resul ...

  8. 推荐一本好书:编写可维护的JavaScript(可下载)

    目录 推荐一本好书:编写可维护的JavaScript(可下载) 书摘: 下载: 有些建议: 推荐一本好书:编写可维护的JavaScript(可下载) 书摘: 很多设计模式就是为了解决紧耦合的问题.如果 ...

  9. 拯救一切强迫症 - 读《编写可维护的 JavaScript》(一)

    拯救一切强迫症 - 读<编写可维护的 JavaScript>(一) 本文写于 2020 年 4 月 24 日 我在小学的时候就有接触过编程,所以读大一的时候 C 语言还算是轻车熟路.自然会 ...

随机推荐

  1. C#代码连接Oracle数据库一段时间以后[connection lost contact]的问题

    最近在使用C#代码连接Oracle数据库,分为两部分,WCF的客户端与服务端.程序启动与运行都没有问题,部署到服务器上后,运行也没有问题.但是第二天再访问的时候,就会抛出下边所示的异常.这是怎么回事? ...

  2. CentOs 自带 PHP 之坑

    在虚拟机上安装了CentOs6.5在上面安装了lnmp开发集成包(php7.1),对于之前没有任何开发经验的我来说,正常且安详滴在集成环境上开发着优雅的小bug. 然而我今天在Composer拉取代码 ...

  3. 在Linux中将脚本做成系统服务

    有一些情况下,我们需要将某些脚本作为系统服务来运行.比如,在我使用workerman框架开发php程序时,需要使用管理员权限来运行,而且需要开机自行启动程序提供服务.这个时候将启动程序写成服务就可以很 ...

  4. Flink入门训练--以New York City Taxi为例

    最近在学Flink,准备用Flink搭建一个实时的推荐系统.找到一个好的网站(也算作是flink创始者的官方网站),上面有关于Flink的上手教程,用来练练手,熟悉熟悉,下文仅仅是我的笔记. 1. 数 ...

  5. Go_21: Golang 中 time 包的使用二

    常量声明: const TimeLayout = "2006-01-02 15:04:05" 这是个奇葩,必须是这个时间点,据说是 go 诞生之日, 记忆方法:6-1-2-3-4- ...

  6. python命名空间与闭包函数详解

    python命名空间与闭包函数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客主要介绍的知识点如下: 1>.三元运算 2>.命名空间 3>.globa ...

  7. 分布式锁--Redis小试牛刀

    参考文章: Redis分布式锁的正确实现方式 分布式锁看这篇就够了 在这两篇文章的指引下亲测 Redis分布式锁 引言 分布式系统一定会存在CAP权衡问题,所以才会出现分布式锁 什么是CAP理论? 为 ...

  8. Codeforces 931 C. Laboratory Work

    http://codeforces.com/problemset/problem/931/C 题意: 给定一个数列,要求构造一个等长的数列,使得数列的平均值等于给定数列,并且使得构造出的数列中与原数列 ...

  9. mybatis mapper接口开发dao层

    本文将探讨使用 mapper接口,以及 pojo 包装类进行 dao 层基本开发 mybatis dao 层开发只写 mapper 接口 其中需要 开发的接口实现一些开发规范 1. UserMappe ...

  10. JavaScript模拟QQ签名(HTML5 contenteditable属性)

    例图: 一.思路 1.单击元素时,使元素可以编辑,并获得焦点 2.按下键盘检测用户编辑元素中的文本 3.监听按下Enter键操作或离开可编辑元素焦点时,更新数据库 二.代码 $(function(){ ...