首页 > 网站 > WEB开发 > 正文

JavaScript 编码风格指南

2024-04-27 14:23:28
字体:
来源:转载
供稿:网友

javaScript 编码风格指南

A.1 缩进

//  4个空格的层级缩进if (true) {    doSomething();}

A.2 行的长度

//  每行限于80个字符,超出则在运算符后换行,缩进2个层级(8个空格)doSomething(argument1, argument2, argument3, argument4,        argument5);

A.3 原始值

//  字符串使用双引号及长字符串的链接var name = "Nicholas",    longStr = "this is a long string you should " +              "change another line.";//  数字var count = 10,    PRice = 10.50,    num = 1e10;//  null,表示或期望是对象var person = null; function getPerson () {    if (condition) {        return new Person("Nicholas");    } else {        return null;    }}
//  undefined  变量声明而未赋值的状态,避免使用;var variable = undefined   //  dont do thisif (typeof variable === "undefined") {    //  do like this}

A.4 运算符间距

//  运算符前后使用一个空格来保持表达式的整洁var found = (value[i] === item);if (found && (count > 10)) {    doSomething();}for (i = 0; i < count; i++) {    process(i);}

A.5 对象直接量

//  层级缩进、语段前后空行、函数前后空行、属性不加引号、冒号紧跟其后var object = {    key1: value1,    key2: value2,    func: function () {        // a function to do something    },    key3: value3}

A.7 注释

//  单行注释1if (condition) {        //  如果代码执行到这里,表明通过了安全检查    doSomething();}//  单行注释2var result = result1 + result2;  //  result1, result2应当是整数//  多行注释function getResult (arg1, arg2) {    /*     *  @para arg1     *  @para arg2     */    doSomething();}

A.8 变量声明

//  整齐、未初始化变量放最后var count = 10,    name = "Nicholas",    found = false,    empty;

A.9 函数声明

//  标准式function sum(arg1, arg2) {    return arg1 + arg2;}//  道格拉斯推荐式(变量引用式)var sum = function (arg1, arg2) {    return arg1 + arg2;};//  立即调用式var value= (function() {        //  函数体    return {        message: "Hi"    }; }());

A.10 命名

// 普通变量用小驼峰命名法,不要使用下划线,不要用动词开头var accountNumber = "8341";//  函数命名用动词开头表意function getPerson() {    // return a person object}// 构造函数用名词开头且首字母大写function Person(name) {    this.name = name;}// 常量var TOTAL_COUNT = 10;// 私有变量var object = {    _count: 10,    getCount: function() {        return this._count;    }};

A.11 严格相等及表达式赋值

// 通过相等判断赋予布尔值var flag = (a === b);

A.12 三元操作符

// 三元操作符应当仅仅用在条件赋值语句中var value = (condition ? value1 : value2);// dont do like this, do it use if insteadcondition ? doSomething() : doSomethingElse();

A.13 语句示例

// ifif (condition) {    statements}// forvar i, len;for (i = 0, len = 10; i < len; i++) {    // code}var prop;for (prop in object) {    if (object.hasOwnProperty(prop)) {        // code    }}// whilewhile (condition) {    statements}// switchswitch (value) {    case 1:        statements;        break;    case 2:  // falls through    case 3:        statements;        break;    // no default}

A.14 使用严格模式吧,在一个函数里

(function() {    "use strict";    //  code}());


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表