编写可维护的javascript(一):基本的格式化
来源:互联网 发布:java 数字字符串排序 编辑:程序博客网 时间:2024/05/18 20:09
一 基本的格式化
- 语句结尾
依赖于分析器的自动分号插入(ASI)机制,javascript代码省略分号是可以正常工作。ASI会自动寻找出代码中应当使用分号但实际没有分号的位置,并插入分号。在大多数情况下ASI都会正确插入分号,不会产生错误。
// 原始代码 function getData() { return { title: 'rule', author: 'mangoyi' } } // 分析器会自动解释成 function getData() { return ; { title: 'rule', author: 'mangoyi' } }
- 行
javascript编码风格倾向于将行长度限定在80个字符。
if (isLeapYear && isFebruary && day == 29 && itsYourBirthday && noPlans) { waitAnotherFourYears(); }
以上代码注释:if条件语句拆分成两行,断行是在&&运算符之后(总是将一个运算符置于行尾,ASI就不会自作主张地插入分号了)
- 命名
核心遵照驼峰式大小写命名法
变量名总是遵循驼峰大小写命名法,并且命名前缀应当是名字。以名词为前缀可以让变量和函数区分开来,因为函数名前应当是动词。见下面例子:
// good var count = 10; var myName = 'Mangoyi'; var found = true; // bad (变量看起来像是函数) var getCount = 10; var isFound = true; // good function getName() { return myName; } // bad (函数看起来像是变量) function theName() { return myName; }
常量
约定使用大写字母和下划线来命名,下划线用以分割单词,比如:
var MAX_COUNT = 10;
构造函数
构造函数以大写字母开头的驼峰式命名,常常是名词,因为构造函数是用来创建某个类型的实例的。
// good function Person(name) { this.name = name; } Person.prototype.sayName = function() { alert(this.name); } var me = new Person('Mangoyi');
字符串
Javascript中,字符串是独一无二的,字符串可以使用双引号括起来,也可以用单引号括起来。
// 合法javascript代码 var name = "Mangoyi says,\"Hi\""; //也是合法的javascript代码 var name = 'mangoyi says,"Hi"'
注:明确禁止创建多行字符串,多行字符串的一种替代方法是,使用字符串连接符(+)将字符串分成多份
// bad(不允许) var longString = "Here's the story, of a man \ named Mangoyi"; // good var longString = "Here's the story, of a man " + "named Mangoyi";
数字
请不要省略小数点之前或之后的数字。
null
null是一个特殊值。
理解null最好的方式是将它当做对象的占位符。
// good var person = null; function getPerson() { if (condition) { return new Person('Mangoyi'); } else { return null; } } // good var person = new getPerson(); if (person !== null) { doSomething(); } // bad(不好的做法: 用来和为初始化的变量比较) var person; if (person != null) { doSomething(); } // bad(不好的做法:检测是否传入了参数) function doSomething(arg1, arg2) { if (arg2 != null) { doSomethingElse(); } }
undefined
undefined是一个特殊值
那些没有被初始化的变量都有一个初始值,即undefined,表示这个变量等待被赋值。
typeof的行为
不管值是undefined的变量还是未声明的变量,typeof运算的结果都是‘undefined’ 比如:
// foo 未被声明 var person; console.log(typeof person); // "undefined" console.log(typeof foo); // "undefined"
当变量未声明时,如果使用了一个可能赋值未一个对象的变量时,应将其赋值为null。
// good var person = null; console.log(person ==== null) //true
则此时typeof运算null类型时则返回‘object’,就可以和undefined区分开了。
对象直接量
创建对象最流行的一种做法是使用对象直接量。
// bad var book = new Object(); book.title = 'Javascript'; book.author = 'Mangoyi';
很少见到上面这种写法。
对象直接量允许你将所有属性都括在一对花括号中。
所以,定义对象直接量时,采用如下标准写法:
var book = { title : 'Javascript', author : 'Mangoyi' };
数组直接量
和对象直接量相似,数组直接量是Javascript中定义数组最简洁的一种方式。
不赞成显示地使用Array构造函数来创建数组。比如:
// bad var colors = new Array('red', 'green', 'blue'); // good var colors = ['red', 'green', 'blue'];
文章内容从《编写可维护的Javascript》[美] Nicholas C. Zakas著 书中总结写出。
- 编写可维护的javascript(一):基本的格式化
- 《编写可维护的JavaScript 》读书笔记(1) --基本的格式化
- 编写可维护的JavaScript(一)
- 《编写可维护的JavaScript》读书笔记——1.基本的格式化
- 编写可维护的javascript读后笔记(一)
- 编写可维护的JavaScript学习笔记(一)
- 编写可维护的JavaScript
- 《编写可维护的javascript》
- 编写可维护的javascript
- 编写可维护的javascript (Maintainable Javascript)读书笔记(一)第一部分 编程风格
- 如何编写可维护的JavaScript代码?
- 编写可维护的JavaScript读书笔记(1)
- 编写可维护的JavaScript读书笔记(2)
- 读书笔记:编写可维护的javascript
- 《编写可维护的JavaScript》笔记
- 编写可维护的Javascript代码
- 《编写可维护的javascript》笔记
- 编写可维护的javascript读书笔记
- 外网地址和端口好已经提供,已经搭建环境,外网却不能访问
- 手机号合法验证
- 学习VB.net串口索引(-)
- 使用ab进行压力测试
- 01. JSP 概述
- 编写可维护的javascript(一):基本的格式化
- 关于C语言整型提升的讲解
- python实现AES算法
- JavaScript-闭包
- 执行 pip install dicom 出现 Cannot open D:\Program Files\Anaconda3\Scripts\pip-script.py 错误解决办法
- 使sql语句支持输入参数
- Nginx配置性能优化
- MYSQL学习笔记(十四)使用全文本搜索
- Spring整合threadPool+dubbo