# font-end-guide **Repository Path**: xbl/font-end-guide ## Basic Information - **Project Name**: font-end-guide - **Description**: 前端规范 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2014-04-14 - **Last Updated**: 2020-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 前端规范文档 ### 声明变量 #### 非一般数据类型尽量使用数据类型做变量后缀(视情况而定): ``` // JSON var fooMap = {}; // 或者 var fooJson = {}; // 或者 var fooObj = {}; // 数组 var personArr = []; ``` ``` 使用 var arr = []; 代替 var arr = new Array(); 使用 var obj = {}; 代替 var obj = new Object(); 使用 var a = [], b = [], c = []; 代替: var a = new Array(); var b = new Array(); var c = new Array(); ``` ### 定义函数 ``` var foo = function() { return true; }; // 这里有分号 function foo() { return true; } //这里没有分号 ``` #### 在代码块中声明函数 ``` if (x) { var foo = function() {}; } ``` ### 使用闭包 文件内部我们使用闭包来避免与外界变量冲突 ``` (function() { // do something })(); ``` 在闭包内部启用严格模式,避免使用已经废弃的js语法如with 等… ``` (function(){ "use strict"; // do something })(); ``` 利用window对象将闭包中的方法公开 ``` (function(win){ "use strict"; var util = function() { // do something }; window.util = util; })(window); ``` #### 函数内闭包 错误的写法: ``` function foo(element, a, b) { element.onclick = function() { // 使用a 和 b }; } ``` 正确的写法: ``` function foo(element, a, b) { element.onclick = bar(a, b); } function bar(a, b) { return function() { // 使用a 和 b }; } ``` ## 语法规范 ### if 判断 --- * `null` * `undefined` * `''` 空字符 * `0` ``` // 错误写法 if (y != null && y != '') {} // 正确写法 if (y) {} ``` ### 注释 * 在函数上方必须写注释,描述该函数的业务作用 * 尽量使用 `// `来写注释,不求完美,力求简单 * 函数内如果逻辑复杂也要写相应注释 参考谷歌规范(http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml)