时间: i = 0; // Set i to zero.
一般使用行注释。把块注释用于正式文档或外部注释。
变量声明 所有的变量应该在使用前声明。JavaScript不强求这点,但是这样做会让程序更易读,并且会让探测未声明的可能变成隐式的globals的 变量更容易。
var语句应该为方法体内的第一个语句。
每个变量声明应该自己占一行并有注释。它们应该按字母顺序排列。 var currentEntry; // currentyly selected table entry var level; // indentation level var size; // size of table
JavaScript没有块作用域,所以在块里定义变量可能会让有其它C家族语言经验的程序员迷惑。在方法顶端定义所有变量。
尽量少使用全局变量。隐式的全局变量应该从来不使用。
方法声明 所有的方法应该在它们使用前声明。内部方法应该位于var语句后面。这让哪些变量包含在它的scope里更清楚。
方法名和参数列表的“(”(左圆括号)之间不应该有空格。在“)”(右圆括号)和“{”(左大括号)之间有一个空格。 方法体本身缩进4个空格。“}”(右大括号)应该和方法声明处对齐。 function outer(c, d) { var e = c * d;
function inner(a, b) { return (e * a) + b; }
return inner(0, 1); }
这个规范可以和JavaScript很好的工作,因为在JavaScript里方法和对象字面量可以放在允许表达式的任何位置。它使用内部方法和复杂 结构提供最好的可读性。 function getElementsByClassName(className) { var results = []; walkTheDOM(document.body, function (node) { var a; // array of class names var c = node.className; // the node''s classname var i; // loop counter // If the node has a class name, then split it into a list of simple names. // If any of them match the requested name, then append the node to the set of results. if (c) { a = c.split('' ''); for (i = 0; i < a.length; i += 1) { if (a[i] === className) { results.push(node); break; } } } }); return results; }
如果一个方法字面量为匿名的,则在“function”和“(”(左圆括号)之间应该有一个空格。如果省略空格,则它可能看起来方法名是 “function”,而这是错误的。 div.onclick = function (e) { return false; }; that = { method: function () { return this.datum; }, datum: 0; };
尽量少用全局方法。
命名 命名应该由26个大小写字母(A .. Z, a .. z) |