javascript代码规范小结
JavaScript代码规范指南
为了提高代码的可读性和可维护性,我们推荐使用特定的JavaScript代码规范。这些规范主要基于Douban-JSLint检验标准,并辅以一些额外的建议。
一、语句结尾与断行
1. 所有的JavaScript语句必须以分号结束,除非在for、function、if、switch、try和while等语句中可省略。当处理较长的语句时,应考虑适当地断行以提高代码的可读性。例如:
原始代码:
```javascript
TEMPL_SONGLIST.replace('{TABLE}', da['results']).replace('{PREV_NUM}', prev).replace('{NEXT_NUM}', next).replace('{CURRENT_NUM}', current).replace('{TOTAL_NUM}', da.page_total);
```
```javascript
TEMPL_SONGLIST.replace('{TABLE}', da['results'])
.replace('{PREV_NUM}', prev)
.replace('{NEXT_NUM}', next)
.replace('{CURRENT_NUM}', current)
.replace('{TOTAL_NUM}', da.page_total);
```
二、避免额外的逗号和其他语法问题
1. 避免在数组或对象字面量中使用额外的逗号。例如,应写成`var arr = [1,2,3];`而不是`var arr = [1,2,3,];`。
2. 所有循环体和判断体都必须用花括号"{}"括起来,以增强代码的可读性和可维护性。例如,错误的写法是`if (condition) statement;`,正确的写法应该是`if (condition) { statement; }`。
三、关于变量声明和其他实践建议
1. 变量声明应放在function的最上面,避免使用未声明的变量。例如,错误的写法是`if (n > 0) { var isvalid = true; }`,正确的写法应该是先声明变量`var isvalid;`,然后再使用。
2. 在for-in循环中,必须使用hasOwnProperty方法检查成员是否为自身成员,以避免来自原型链上的污染。
3. 避免使用with、void和eval等可能引起问题的关键字。
4. 使用严格的条件判断符。推荐使用===代替==,使用!==代替!=。
5. 在创建对象时,建议使用字面量语法而不是new构造器,例如使用{}代替new Object,使用[]代替new Array。
四、命名规则
为了提高代码的可读性和可维护性,我们还需要遵循一些命名规则。例如:
1. 构造器的首字母大写,如`function Dialog (config) {...}`。
2. 对象的属性或方法名采用小驼峰式命名法,如"init"、"bindEvent"、"updatePosition"。
3. 私有变量名以下划线开头,如"_current"、"_defaultConfig"。
编程世界中的命名规范与代码格式化
在编程的世界里,每一个元素都有其独特的标识,就像文章中的标题和段落。变量名就是代码中的“标题”,它们指引我们找到程序中的特定信息。例如,“CSS_BTN_CLOSE”和“TXT_LOADING”,这些前缀明确的变量名,让我们一眼就能明白它们的作用。
对于整数类型的变量,我们通常使用单字母作为前缀,如i、j、k等,它们常常作为计数器或迭代器出现。例如,“for (i=0; i<=oArray.length; i++)”,这里的i就是一个典型的计数器。字符串类型的变量则可能以“s”作为前缀,而对象则有自己的专属名称。布尔值则通过特定的关键字表示,如true或false。
除了命名规范,代码格式化也是编程中不可或缺的一部分。良好的格式化能让代码更易于阅读和理解。在编程语句中,必要的空格和缩进都是至关重要的。例如,“if”、“for”、“while”等语句的括号前后都需要空格。“=”前后也要有空格,数组成员间的逗号后面也要跟空格。这些空格和缩进的规范能让代码看起来更加整洁、有条理。
长语句的断行也是一个重要的技巧。例如,原本长而复杂的语句:“TEMPL_SONGLIST.replace('{TABLE}', da['results']).replace('{PREV_NUM}', prev).replace('{NEXT_NUM}', next).replace('{CURRENT_NUM}', current).replace('{TOTAL_NUM}', da.page_total);”,经过断行处理后,变得更加清晰易懂:“TEMPL_SONGLIST.replace('{TABLE}', da['results']) .replace('{PREV_NUM}', prev) .replace('{NEXT_NUM}', next) .replace('{CURRENT_NUM}', current) .replace('{TOTAL_NUM}', da.page_total);”。
对象的参数格式化也很重要。例如,在嵌入一个SWF对象时,规范的代码格式能让代码更易于阅读:“embedSWF(id, { url: '/swf/player30792.swf?url=' + el.href, width: 261, height: 30, params: { wmode:'transparent' }, attributes: { id: 'player-sample' + i, name: 'player-sample' + i }});”。这样的格式不仅让代码看起来整洁,还能减少出错的可能性。
当一切准备就绪,执行那句“cambrian.render('body')”,程序开始展现它的魅力,呈现出一个完美的作品。编程的世界,就像艺术家的工作室,每一个细节都需要精心打磨,才能创造出令人惊叹的作品。
编程语言
- javascript代码规范小结
- Laravel5.1 框架路由基础详解
- 本地搭建微信小程序服务器的实现方法
- JavaScript实现水平进度条拖拽效果
- Ajax基础教程之封装(三)
- Laravel框架基于ajax实现二级联动功能示例
- PHP 7.0.2 正式版发布
- coolcode转SyntaxHighlighter与Mysql正则表达式实现分析
- 关于php 高并发解决的一点思路
- jQuery实现简单的文件上传进度条效果
- 使用 GUID 值来作为数据库行标识讲解
- 利用Node.js编写跨平台的spawn语句详解
- JS验证字符串功能
- node puppeteer(headless chrome)实现网站登录
- AngularJS中如何使用$http对MongoLab数据表进行增删改
- vue-cli3.0 环境变量与模式配置方法