<<编写可维护的javascript>> part1: 编程风格

chapter1 基本格式


- 缩进

        > tab or 2空格 or 4空格

- 语句结尾

> 语句记得加";"

        > json 对象最后不要加 ","

- 行的长度

> 80字符

        > 超过了就换行, 记得空两个缩进

- 空行

> 在方法前+空行

> 在方法中局部变量和第一条语句前+空行

        > 多行或单行注释前+空行

        > 在逻辑判断片段前+, 如 if, switch, while, for, try

- 命名

> 驼峰命名

>> 尽量动词开头: get, set, is, can, has...

        > 常量命名

                >> 用大写+下划线 : 


            1

 var MAX_COUNT = 10;

> 构造函数命名

>> 大写字母开头 :


            1

var p = new Person("haili");

- 直接量: [字符串, 数字, undefined, null, 布尔值]

> 字符串

                >> jquery 规范都用双引号, 所以尽量用双引号, (拼接html代码时可以用单引号)

> null

>> 好的写法: 1. 初始化变量, 2. 检查变量是否为null

>> 不好的写法: 1. 检查是否传入了参数

> 直接量

>> 好的写法:


            1

2

var object = {}; // 创建对象

var array = []; // 创建数组

>> 不好的写法:


            1

2

var object = new Obejct(); // 创建对象

var array = new Array("1"); // 创建数组

chapter2 注释


- 单行注释

> 句尾的注释的//之前和之后都加空格 :


        1

var a = 1; // 两个空格

- 多行注释

> 和java 一样

- 使用注释

> 在关键的需要提示的地方加注释就好....

chapter3 语句和表达式


- 花括号

> 不能省花括号

> 左( 前和 右) 后加空格:


        1

 if (true) {} // 两个空格

- with

> 不要用with, 不要用with, 不要用with!

- for

        > [数组]用 for (i=0, len=5; i<len; i++) {} // i, len 在外面定义

        > [对象]用 for (prop in object) {} // prop 在外面定义

                >> 记得加 hasOwnPorperty() : 


            1

2

3

4

5

6

for (prop in object) {

 

    if (object.hasOwnPorperty(prop)) { // 不加可能会遍历到原型继承来的属性

        ...

    }

}

chapter4 变量, 函数, 运算符


- 变量声明

> 使用单 var

> 在函数内部任意地方定义变量和在函数顶部声明是完全一样的, 这和js引擎解析的方式一样, 因此, 变量应该定义在函数顶部:


        1

2

3

4

5

6

7

function doSth() {

    var i, len; // 单var, 变量声明空一行

    for (i=0, len=10; i < len; i++) {

        ... // 回想 hasOwnPorperty() 在遍历对象时要加上

    }

}

- 函数声明

> 函数声明写在调用函数的语句前

> 函数名后左(前不加空格, 右) 后加空格


        1

2

function doSth(param) {...} // 好的写法

function doSth (param) {...} // 不好的写法(多了个空格), 看起来像语句块

- 相等

        > 用 === 和 !== , 不要用 == 和 != (后者会自动转化类型)

> 不要用eval(), 不要用eval(), 不要用eval(), 有安全漏洞

> 解析json 请用 JSON 对象, ie 要引个包


            1

2

var jsonObj = JSON.stringify(jsonString);

var jsonString= JSON.parse(jsonObj);

  > setTimeout() 和 setInterval() 不要用 字符串, 会调用eval()


            1

2

3

4

setTimeout("doSth()",100); // 不好的写法

setTimeout(function() { // 好的写法

    doSth();

}, 100);

  > 仅仅在ajax解析返回值时可以用eval()

来自为知笔记(Wiz)

时间: 2024-08-08 01:27:12

<<编写可维护的javascript>> part1: 编程风格的相关文章

编写可维护的js代码-编程风格笔记

1.基本格式化 缩进层级:4个空格(把tab设成4个空格) 语句结尾:保留;(虽然分析器有自动分号插入机制) 行的长度:80个字符 空行:确保语义有关联的代码展现在一起 命名:变量和函数遵循小驼峰命名法,小写字母开始,后面每个单词首字母大写 变量命名前缀名词myName 函数命名前缀动词setName() 常量MAX_COUNT大写字母和下划线 构造函数大驼峰命名法AnotherName 直接量: 字符串:推荐" ",虽然和' '一样 整数和浮点数:8进制废弃 null:空对象指针 初

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

上篇读书笔记系列之:<编写可维护的javascript>读书笔记(上) 上篇说的是编程风格,记录的都是最重要的点,不讲废话,写的比较简洁,而本篇将加入一些实例,因为那样比较容易说明问题. 二.编程实践 1.UI松耦合 第一.将css从javascript中抽离(要改变dom样式数据,应该去操作dom的class名而非dom的style属性,后续要修改此样式只需到对应的css文件中修改而不用修改js文件): 第二.将javascript从HTML中抽离,比如下面的写法是不好的 <!-- 不

《编写可维护的javascript》读书笔记(上)

最近在读<编写可维护的javascript>这本书,为了加深记忆,简单做个笔记,同时也让没有读过的同学有一个大概的了解. 一.编程风格 程序是写给人读的,所以一个团队的编程风格要保持一致. 1.缩进:一种是利用制表符缩进,一种是使用空格符缩进,各有利弊,任选一种,保持一致即可.个人比较喜欢制表符缩进. 2.语句结尾需要加上分号,避免没必要的BUG. 3.命名:首先要语义化,使用驼峰式命名法,小驼峰即首字母小写,之后每个单词首字母大写:大驼峰即首字母大写,之后同小驼峰:变量名前缀应该是名词(my

编写可维护的JavaScript之简易模版

/* * 正则替换%s * @para arg1(text) 需要替换的模版 * @para arg2 替换第一处%s * @para arg3 替换第二处%s * 返回替换后的字符串 */ var sprintf = function (text) { var i = 1, args = arguments, len = args.length; return text.replace(/%s/g, function () { return (i < len) ? args[i++] : &quo

编写可维护的JavaScript之事件处理

规则1:隔离应用逻辑 这会让你的代码容易调试 规则2:不要分发事件对象 event对象包含了太多信息 // a good example var handlePopup = { // 事件句柄,处理所有和event对象有关的东西 handleClick: function (e) { // 假设事件支持DOM Level2 e.preventDefault(); e.stopPropagation(); // 传入应用逻辑 this.showPopup(e.clientX, e.clientY)

学习Javascript的编程风格

Javascript编程风格 Douglas Crockford是Javascript权威,Json格式就是他的发明. 去年11月他有一个演讲(Youtube),谈到了好的Javascript编程风格是什么. 我非常推荐这个演讲,它不仅有助于学习Javascript,而且能让你心情舒畅,因为Crockford讲得很幽默,时不时让听众会心一笑. 下面,我根据这个演讲和Crockford编写的代码规范,总结一下"Javascript编程风格". 所谓"编程风格"(pro

编写可维护的Javascript纪要

第一部分: 编程风格 在大型项目开发中,因为项目可读性规范性的需要(就像<编写可维护性的Javascript>一书作者Nicholas Zakas大神所说,他们团队所有成员写出的代码就像是经同一个人之手写出的一样),风格约定要大于个人喜好这一点毋庸置疑,不过什么样才是好的编程风格约定?下面推荐一些实践中沉淀下来的代码规范和最佳实践: 缩进 缩进问题和编辑器问题一样是一个因为个人喜好和其他不管值得不值得争执的理由而存在争议的问题,目前存在两个流派,空格流和tab流.个人比较习惯于tab(4个空格

《编写可维护的Javascript》总结

最近读了这本书,为了防止狗熊掰棒子式的学习,写这篇总结把收获沉淀下来. 先说说看书的一点感受吧.不要说在大公司中多人团队合作了,就连原来在实验室的几个人小规模开发也都很需要编码规范,否则当复用组件的时候就要花费大量的时间调试,甚至不得不更改原来的代码.多人协作所需要制定的代码规范,常常就是大家达成协议要缩进几个格.如何命名等这些编程风格.虽然这个也很重要,统一风格有助于别人读懂和维护代码,而我认为更重要的是减少对他人代码的污染,同时减少重复的逻辑,能够实现代码的复用.再往上走,更高级和智能的应该

《编写可维护的JavaScript》读书笔记(一)

第一章主要讲的是编程风格部分的基本格式化. 一个严格按照一定规范来编写的项目,无论从可读性,可维护性,或者运行性能上来说,都是比无规范项目更胜一筹的. 基本的格式化包含以下几种: 1.缩进层级 良好的缩进能让多位开发人员更快的读懂代码,提高工作效率. 至于如何缩进,其实并没有一个统一的共识,但是在空格缩进和制表符缩进中,我主张制表符缩进,原因很简单:按钮数少. 2.语句结尾 说到语句结尾,其实在javascript中最常见的就是加不加分号,什么时候加分号的问题. 依赖于js分析器的自动分号插入(