js编码规范
使用统一的 编码规范 编写代码能提高JS代码的可读性,利于后期的维护和扩展,利于团队开发。
引用规范:
1、采用<script>...</script>方式引入 *.js 文件,避免在html中内嵌js代码;
原因在于这样做可以利用 浏览器 的Cache(缓存)避免页面刷新而重新加载,对于JS代码来讲是没有必要的,反而是加大了文件的传输量;
2、js代码采用分多个文件引入的方法,这样可以避免因局部代码修改而引发的重复调用;
命名规范:
原则是:以最少的字母达到最容易理解的意义。
1、变量声明
♦ 所有代码在使用前应将变量声明好,虽然不是必须的,但这样可以使代码易读,并且可以方便找出那些没有声明而被编译为全局的变量;
♦ 将每个变量单独放置一行,并加注释,以变量开头字母排序为序,并采用驼峰命名规范,如下:
var ageValue, //年龄值
nameValue, //姓名值
sexValue //性别
2、函数声明
所有的函数必须在使用前声明;跟在var变量声明后面声明函数,方便查看变量作用域;
具名函数声明:函数名与左括号 “(” 之间不应该有空格,
右括号“(” 与主体语句大括号 “{” 之间应该有空格
程序主体应当缩进4个空格,而非一个Tab(Tab占位没有一个统一的标准)
主体语句结束符号 “}” 与函数声明开始哪一行对齐;
function fun(str) {
var m=0;
m=m+str;
}
匿名函数声明:函数名与左括号“(”之间应当有空格,便于阅读;
function (str) {
str="hello";
}
3、注释
要将注释写出来;良好的代码注释可以给日后的自已或者读者提供理解代码的捷径。
代码注释不要太冗长或带有个人情绪;
代码注释要有意义,不要写一些根本就不需要写的注释;
注释要跟随代码的修改及时更新,避免误导。
原文章引用地址:http://www.2cto.com/kf/201305/213172.html
js编码规范的更多相关文章
- HTML/CSS/JS编码规范
最近整理了一份HTML/CSS/JS编码规范,供大家参考.目录:一.HTML编码规范二.CSS编码规范三.JS编码规范 一.HTML编码规范 1. img标签要写alt属性 根据W3C标准,img标签 ...
- 谷歌js编码规范解析
http://alloyteam.github.io/JX/doc/specification/google-javascript.xm 阅读了谷歌js编码规范,我发现了很多,js的里面很多要注意的问 ...
- python编码规范、js编码规范及IDE的检查插件pylint/eslint等
一.python规范 参考:https://zh-google-styleguide.readthedocs.io/en/latest/google-python-styleguide/的风格规范和语 ...
- 前端JS编码规范
对初学者来说应该学习的JavaScript编码规范: 传送门: http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=29292475 ...
- javascript编码规范[原创]
一些命名规范书或js书命名规范章节,喜欢将命名规范跟语法混在一块例如: 1.使用“var”定义.初始化变量防止产生全局变量,多变量一块定义使用“,”(本身这种方式就很有争议). 2.结尾必加“;”防止 ...
- 前端(HTML/CSS/JS)-HTML编码规范
一.HTML编码规范 1. img标签要写alt属性 根据W3C标准,img标签要写alt属性,如果没有就写一个空的.但是一般要写一个有内容的,根据图片想要表达的意思,因为alt是在图片无法加载时显示 ...
- JS前端编码规范
转自<前端编码规范之JavaScript>,网址:http://www.cnblogs.com/hustskyking/p/javascript-spec.html 一个是保持代码的整洁美 ...
- Vue.js 组件编码规范
本规范提供了一种统一的编码规范来编写 Vue.js 代码.这使得代码具有如下的特性: 其它开发者或是团队成员更容易阅读和理解. IDEs 更容易理解代码,从而提供高亮.格式化等辅助功能 更容易使用现有 ...
- 深入浅出Node.js (附录C) - Node编码规范
C.1 根源 C.2 编码规范 C.2.1 空格与格式 C.2.2 命名规范 C.2.3 比较操作 C.2.4 字面量 C.2.5 作用域 C.2.6 数组与对象 C.2.7 异步 C.2.8 类与模 ...
随机推荐
- MVC自我学起之MVCMusic开发中遇到问题:musicstore edit方法出错的原因和解决方法
错误提示: 存储区更新.插入或删除语句影响到了意外的行数(0).实体在加载后可能被修改或删除.刷新 ObjectStateManager 项. 解决案: 1.在view中或model中增加隐藏id 1 ...
- 新浪授权认证(不用SDK)
微博开放平台:http://open.weibo.com/ 微博开放接口的调用,如发微博.关注等,都是需要获取用户身份认证的.目前微博开放平台用户身份鉴权主要采用的是OAuth2.0.另外,为了方便开 ...
- (转) Java程序员应该知道的10个调试技巧
原地址:http://www.csdn.net/article/2012-09-03/2809495-java-debugging-tips-with-eclipse 调试可以帮助识别和解决应用程序缺 ...
- [ofbiz]解决load-demo花费过长时间的问题
一直以来使用公司配置的hp-cq45笔记本,在初始化ofbiz的时候load-demo需要花费很长一段时间,比如90分钟,或者129分钟. 解决办法:安装官方驱动--intel快速存储驱动 ok,lo ...
- js void运用
谈谈Javascript中的void操作符 http://segmentfault.com/a/1190000000474941 总结: void有如下作用: 通过采用void 0取undefined ...
- 优盘文件系统(FOR C)
优盘上的数据按照其不同的特点和作用大致可分为5 部分:MBR 区.DBR 区.FAT 区.FDT区和DATA 区. 主引导记录(MBR) 绝对扇区号为:MBR_LBA=0x00000000 处是主引导 ...
- QT---线程间通信(要先编译libqt-mt.so?)
在 Qt 系统中,运行着一个GUI 主事件线程,这个主线程从窗口系统中获取事件,并将它们分发到各个组件去处理.在 QThread 类中有一种从非主事件线程中将事件提交给一个对象的方法,也就是 QThr ...
- SVD学习
前言: 上一次写了关于PCA与LDA的文章,PCA的实现一般有两种,一种是用特征值分解去实现的,一种是用奇异值分解去实现的.在上篇文章中便是基于特征值分解的一种解释.特征值和奇异值在大部分人的印象中, ...
- js 环形链表
function link($no){ this.no = $no; this.next;}function addLink($num){ var $first=$cur = {} ...
- 剑指offer-面试题1:赋值运算符函数
题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数 class CMyString { public: CMyString(char *pData=NULL); CMyString ...