javascript编码规范[原创]
一些命名规范书或js书命名规范章节,喜欢将命名规范跟语法混在一块例如:
1.使用“var”定义、初始化变量防止产生全局变量,多变量一块定义使用“,”(本身这种方式就很有争议)。
2.结尾必加“;”防止js执行效果跟想象中不一样。
3.判断两数相等使用“===”不要使用“==”。(实际上==会出问题情况很少发生,而js的语法章节也会提及建议使用“===”)
等等导致规范过于冗长,在我看来,命名规范不应太多,而是将实地编码中最常用到的列出即可。
研究过一些框架低层代码、看完《编写可维护的代码》整理出适合自己的js编码规范:
1.命名。
文字表述太繁琐,直接以下例子说明:
常量 AGE MY_AGE 一般变量 age my_name my_firstName 私有属性 _age _my_name _my_firstName 函数 init() changeName() changMyName() 私有方法 _init() _changeName() _changeMyName() 类 Sprite JumpSprite
2.方法、函数建议用动词:
Sprite.getTag(); Sprite.isLoad();
3.间隔、缩进。
间隔:操作符之间都是用空格间隔(除了特殊的负号“-”及自加自减)。
for (i = , len = items.length; i < len; i++){
doSomething(items[i]);
}
缩进:虽然有些文章认为2格的空格缩进便于阅读跟代码转移,但实际上2行缩进在大部分IDE上很难操作
因为主流IDE的默认缩进都是4格,关于使用"Tab"导致的问题,使用IDE、web或本地格式化软件的
“格式化代码”即可解决。
4.行宽:
一行代码超过80行,不同的IDE有不同的提示:如editplus右下角有当前行数、列数提示
webStorm直接就有一条明显的线划分提示。
5.数组、对象定义:
定义数组不用new Array(),而是用"[]",定义对象不用new Object,而是用"{}"。
6.文件夹、文件命名:
文件夹使用蛇形命名法,如:syntax_highlighter, 文件使用驼峰命名法,如:shCore.css。(参考高亮插件:syntaxHighlighter的命名法)

附上某一500强公司的js规范:
1、禁止使用for-in语句枚举数组。(因为for in遍历,会遍历出多余的内容,如扩展的方法)。
2、禁止使用with语句。(容易出错、有安全隐患,且都有代替的代码实现)。
3、业务代码禁止使用eval。(同上,主要是防止XSS攻击)
禁止使用Function 构造器,它是另外一种形式的eval。
禁止给setTimeout 或者setInterval 传递字符串类型参数,否则这两个方法的行为就类似于eval。
4、禁止使用new Object(),必须用{}替代。(在Javascript里分配大量的new变量地址是一项很慢的操作,为了效率起见,你应该始终使用对象符号。)
5、禁止使用new Array(),必须用[]替代。(同上)
javascript编码规范[原创]的更多相关文章
- JavaScript编码规范指南
前言 本文摘自Google JavaScript编码规范指南,截取了其中比较容易理解与遵循的点作为团队的JavaScript编码规范. JavaScript 语言规范 变量 声明变量必须加上 var ...
- 【转发】网易邮箱前端技术分享之javascript编码规范
网易邮箱前端技术分享之javascript编码规范 发布日期:2013-11-26 10:06 来源:网易邮箱前端技术中心 作者:网易邮箱 点击:533 网易邮箱是国内最早使用ajax技术的邮箱.早在 ...
- 网易前端JavaScript编码规范
在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊 ...
- JavaScript编码规范[百度]
JavaScript编码规范 1 前言 2 代码风格 2.1 文件 2.2 结构 2.2.1 缩进 2.2.2 空格 2.2.3 换行 2.2.4 语句 2.3 命名 ...
- 网易邮箱前端Javascript编码规范:基础规范
在多年开发邮箱webmail过程中,网易邮箱前端团队积累了不少心得体会,我们开发了很多基础js库,实现了大量前端效果组件,开发了成熟的opoa框架以及api组件,在此向大家做一些分享.今天想先和大家聊 ...
- JavaScript 编码规范(中文/Airbnb公司版)
Airbnb 是一家位于美国旧金山的公司,本文是其内部的 JavaScript编码规范,写得比较全面,在 Github 上有 16,686 + Star,3,080 + fork,前端开发人员可参考. ...
- 学习一份百度的JavaScript编码规范
JavaScript编码规范 1 前言 2 代码风格 2.1 文件 2.2 结构 2.2.1 缩进 2.2.2 空格 2.2.3 换行 2.2.4 语句 2.3 命名 2.4 注释 2.4.1 单行注 ...
- 《编写可维护的JavaScript》——JavaScript编码规范(一)
缩进层级 代码如何缩进通常有两种主张: 使用制表符缩进 每一个缩进层级都用单独的制表符表示.这种方法的主要缺点是:系统对制表符的解释不一致.这些差异会导致不同的开发者对同一段代码有不同的看法的,这正是 ...
- Javascript编码规范,好的代码从书写规范开始,增强代码的可读性,可维护性,这是相当重要的!
1. 前言 JavaScript在百度一直有着广泛的应用,特别是在浏览器端的行为管理.本文档的目标是使JavaScript代码风格保持一致,容易被理解和被维护. 虽然本文档是针对JavaScript设 ...
随机推荐
- Androoid studio 2.3 AAPT err(Facade for 596378712): \\?\C:\Users\中文文件夹\.android\build-cache
错误如下: Error:Some file crunching failed, see logs for details Error:Execution failed for task ':app:m ...
- NET基础篇——反射的奥妙
反射是一个程序集发现及运行的过程,通过反射可以得到*.exe或*.dll等程序集内部的信息.使用反射可以看到一个程序集内部的接口.类.方法.字段.属性.特性等等信息.在System.Reflectio ...
- 转转转---ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法
ROWNUMBER() OVER( PARTITION BY COL1 ORDER BY COL2)用法 http://blog.csdn.net/yinshan33/article/detail ...
- bs的过滤器功能例子
第一步 #src链接要符合下面要求,这里返回是 false or true def valid_img(src): return src.endswith('jpg') and 'img.jandan ...
- poj 2377 Bad Cowtractors (最大生成树prim)
Bad Cowtractors Time Limit : 2000/1000ms (Java/Other) Memory Limit : 131072/65536K (Java/Other) To ...
- 基于http协议实现RPC远程调用
今天简单说一下基本Http协议来实现RPC框架~ 基于Http协议实现RPC框架: 优点: 1.简单.实用.开发方便 缺点: 1.性能不是很稳定,在海量数据时,完全顶不住,容易宕机 2.因为不是走的注 ...
- IDA python使用笔记
pattern='20 E5 40 00' addr=MinEA() for x in range(0,5): addr=idc.FindBinary(addr,SEARCH_DOWN,pat ...
- android中的一个圆角图片
RoundedImageView A fast ImageView (and Drawable) that supports rounded corners (and ovals or circles ...
- blktrace btt结果分析
对于btt的结果分析十分的困难,我和同事花了很多的时间在网上查找btt输出的每一项参数的意义,试图更好的分析bio的统计信息,但网上文章一大抄,翻来覆去就是那几篇文章. 本文中内容参考了以下网址: 1 ...
- logger 的使用一 小结
方式一 依赖: <!-- log start --> <dependency> <groupId>log4j</groupId> <artifac ...