<<编写可维护的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()













转载于:https://www.cnblogs.com/haili042/p/5096527.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值