JavaScript笔记之编程风格

原网页:http://www.ruanyifeng.com/blog/2012/04/javascript_programming_style.html

简介:

     所谓"编程风格"(programming style),指的是编写代码的样式规则。"编程风格"的选择不应该基于个人爱好、熟悉程度、打字工作量等因素,而要考虑如何尽量使代码清晰易读、减少出错。是一种能够清晰表达你的意图的风格。

 

规则1:表示区块起首的大括号,不要另起一行。

绝大多数的编程语言,都用大括号({})表示区块(block)。起首的大括号的位置,有许多不同的写法。

最流行的有两种。一种是起首的大括号另起一行,另一种是起首的大括号跟在关键字的后面。

一般来说,这两种写法都可以接受。但是,Javascript要使用后一种,因为Javascript会自动添加句末的分号,导致一些难以察觉的错误。

 

规则2:调用函数的时候,函数名与左括号之间没有空格;函数名与参数序列之间,没有空格;所有其他语法元素与左括号之间,都有一个空格。

圆括号(parentheses)在Javascript中有两种作用,一种表示调用函数,另一种表示不同的值的组合(grouping)。我们可以用空格,区分这两种不同的括号。

规则3:不要省略句末的分号。

分号表示语句的结束。大多数情况下,如果你省略了句尾的分号,Javascript会自动添加。但如果下一行的第一个字元(token)是下面这五个字符之一,Javascript将不对上一行句尾添加分号:"("、"["、"/"、"+"和"-"。

 

规则4:不要使用with语句。

with可以减少代码的书写,但是会造成混淆。

with (o) {

    foo = bar;
  }

//上面的代码,可以有四种运行结果:取决于不同的变量是否有定义
    o.foo = bar;

  o.foo = o.bar;

  foo = bar;

  foo = o.bar;

 

规则5:不要使用"相等"(==)运算符,只使用"严格相等"(===)运算符。

Javascript有两个表示"相等"的运算符:"相等"(==)和"严格相等"(===)。因为"相等"运算符会自动转换变量类型,造成很多意想不到的情况:

    0 == ''// true

  1 == true // true

  2 == true // false

  0 == '0' // true

  false == 'false' // false

  false == '0' // true

  " \t\r\n " == 0 // true

规则6:不要将不同目的的语句,合并成一行。

有些程序员追求简洁,喜欢合并不同目的的语句。

//原来的语句是
    a = b;
  if (a) {...}

//写成下面这样:
    if (a = b) {...}

//可读性大打折扣,而且会造成误读,让别人误以为这行代码的意思是:
if (a === b){...}

规则7:所有变量声明都放在函数的头部(适用于var)。

Javascript会自动将变量声明"提升"(hoist)到代码块(block)的头部。为了避免可能出现的问题,不如把变量声明都放在代码块的头部。

规则8:所有函数都在使用之前定义(本条不讨论)。

规则9:避免使用全局变量;如果不得不使用,用大写字母表示变量名,比如UPPER_CASE(貌似闭包可以解决命名污染)。

全局变量对于任何一个代码块,都是可读可写。这对代码的模块化和重复使用,非常不利。

规则10:不要使用自增(++)和自减(--)运算符,用+=和-=代替。

 

你可能感兴趣的:(web全栈行走轨迹)