- 1、本文档共40页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
javascript前端规范
前端JavaScript规范?
类型
对象
数组
字符串
函数
属性
变量
条件表达式和等号
块
注释
空白
逗号
分号
类型转换
命名约定
存取器
构造器
事件
模块
jQuery
ES5 兼容性
HTML、CSS、JavaScript分离
使用jsHint
前端工具
原始值: 相当于传值(JavaScript对象都提供了字面量),使用字面量创建对象。
string
number
boolean
null
undefined
复杂类型: 相当于传引用
object
array
function
使用字面值创建对象
不要使用保留字?reserved words?作为键
?使用字面值创建数组
如果你不知道数组的长度,使用push
当你需要拷贝数组时使用slice.?jsPerf
使用slice将类数组的对象转成数组.
?对字符串使用单引号?(因为大多时候我们的字符串。特别html会出现)
超过80(也有规定140的,项目具体可制定)个字符的字符串应该使用字符串连接换行
?注: 如果过度使用,长字符串连接可能会对性能有影响.?jsPerf??Discussion
?编程时使用join而不是字符串连接来构建字符串,特别是IE:?jsPerf.
函数表达式:
绝对不要在一个非函数块里声明一个函数,把那个函数赋给一个变量。浏览器允许你这么做,但是它们解析不同。
注:?ECMA-262定义把块定义为一组语句,函数声明不是一个语句。阅读ECMA-262对这个问题的说明.
绝对不要把参数命名为?arguments, 这将会逾越函数作用域内传过来的?arguments?对象.
当使用变量和特殊非法变量名时,访问属性时可以使用中括号(.?优先).
总是使用?var?来声明变量,如果不这么做将导致产生全局变量,我们要避免污染局命名空间。
使用一个?var?以及新行声明多个变量,缩进4个空格。
最后再声明未赋值的变量,当你想引用之前已赋值变量的时候很有用。
在作用域顶部声明变量,避免变量声明和赋值引起的相关问题。
合理使用?===?和?!==?以及?==?和?!=.
合理使用表达式逻辑操作运算.
条件表达式的强制类型转换遵循以下规则:
对象?被计算为?true
Undefined?被计算为?false
Null?被计算为?false
布尔值?被计算为?布尔的值
数字?如果是?+0, -0, or NaN?被计算为?false?, 否则为?true
字符串?如果是空字符串??则被计算为?false, 否则为?true
使用快捷方式.
阅读?Truth Equality and JavaScript?了解更多
给所有多行的块使用大括号
使用?/** ... */?进行多行注释,包括描述,指定类型以及参数值和返回值
//?bad//?make()?returns?a?new?element//?based?on?the?passed?in?tag?name////?@param?String?tag//?@return?Element?elementfunction?make(tag)?{? //?...stuff...? return?element;}//?good/**?*?make()?returns?a?new?element?*?based?on?the?passed?in?tag?name?*?*?@param?String?tag?*?@return?Element?element?*/function?make(tag)?{? //?...stuff...? return?element;}
使用?//?进行单行注释,在评论对象的上面进行单行注释,注释前放一个空行.
如果你有一个问题需要重新来看一下或如果你建议一个需要被实现的解决方法的话需要在你的注释前面加上?FIXME?或?TODO?帮助其他人迅速理解
?满足规范的文档,在需要文档的时候,可以尝试jsdoc.
缩进、格式化能帮助团队更快得定位修复代码BUG.
将tab设为4个空格
//?badfunction()?{??var?name;}//?badfunction()?{?var?name;}//?goodfunction()?{????var?name;}
大括号前放一个空格
?在做长方法链时使用缩进.
?不要将逗号放前面
不要加多余的逗号,这可能会在IE下引起错误,同时如果多一个逗号某些ES3的实现会计算多数组的长度。
语句结束一定要加分号
类型转换
在语句的开始执行类型转换.
字符串:
对数字使用?parseInt?并且总是带上类型转换的基数.,如parseInt(val
您可能关注的文档
- flash初始化子程序.doc
- flac大作业.doc
- FOC控制基于电阻的电流采样方案比较.docx
- FM7538C(原边恒压恒流5V2A(内置MOS)充电器.doc
- FPGA学习等精度测频.doc
- FORM打不开问题集.doc
- FMEA分析作业指导书.doc
- FPC可靠度测试规范.doc
- Folin酚测蛋白质含量实验报告.doc
- FPGA_报告书.doc
- 4.1 陆地水体及其关系 课件高二上学期地理中图版(2019)选择性必修一.pptx
- 混凝土结构与砌体结构设计习题集 .pdf
- 统编版语文四年级下册 22.古诗三首 课件(共50张PPT).pptx
- 青海2024行测笔试真题及答案 .pdf
- 2.1 充分发挥市场在资源配置中的决定性作用 课件-高中政治统编版必修二经济与社会.pptx
- 27.巨人的花园 课件(共58张PPT).pptx
- 统编版语文一年级下册5 树和喜鹊 第1课时 课件(共37张PPT).pptx
- 2.1 充分发挥市场在资源配置中的决定性作用 课件政治一轮复习统编版必修二经济与社会.pptx
- 贵港市平南县2024届小升初考试语文试卷含答案 .pdf
- 小学期末考试质量分析 .pdf
文档评论(0)