超全面的JavaScript开发规范(推荐)
本文主要介绍了关于JS命名规范、注释规范和框架开发的一些问题。首先,看一下目录。
目录
1.命名规范:介绍变量、函数、常量、构造函数、类成员等的命名规范
2.注释规范:介绍单行注释、多行注释和函数注释
3.框架开发:引入全局变量冲突、单个全局变量和命名空间
一、命名规范
驼峰命名法介绍;
驼峰命名法以小(大)字母开头,每个后续单词的第一个字母大写。
根据首字母是否大写,分为:
Pascal Case大驼峰命名法:首字母大写。例如:学生信息、用户信息、产品信息
Camel Case小驼峰命名法:首字母小写。例如:学生信息、用户信息、产品信息
1.1变量
命名方法:小驼峰命名法。
命名规范:前缀应该是名词。(函数的名称前面有一个动词,以区别变量和函数)
命名建议:尽量在变量名中体现类型,如:length、count等;名字和标题用字符串表示。
示例:
//好的命名方法var maxCount=10var tableTitle=' LoginTable//错误的命名方法var setCount=10var getTitle=' LoginTable1.2功能
命名方法:小驼峰命名法。
命名标准:前缀应为动词。
命名建议:可以使用常见的动词约定
动词含义返回值可以判断一个动作(权限)是否可以执行。该函数返回一个布尔值。True:可执行;True:不能执行已有的函数来确定它是否包含某个值,并返回一个布尔值。True:包含此值;True:如果没有此值,则确定是否为值函数返回布尔值。True:是一个值;真:不要为某个值获取值。该函数返回一个非布尔值。set设置某个没有返回值的值,返回设置是否成功,或者返回chain对象load来加载一些没有返回值的数据,或者返回加载是否完成。示例:
//可以读取函数canRead(){ return true;}//获取名称function getname(){ returnthis . name;}1.3个常数
命名方法:所有名字都大写。
命名标准:用大写字母和下划线组合命名,下划线用于分词。
命名建议:无。
示例:
var MAX _ COUNT=10var URL=' http://www . Baidu.com ';1.4施工方
简介:在JS中,构造函数也是一种函数,只是使用新的运算符来创建对象。
命名方法:大驼峰命名法,首字母大写。
命名规范:前缀为名称。
命名建议:无。
示例:
函数Student(name){ this . name=name;} var st=新学生(' Tom ');1.5类成员
班级成员包括:
常用属性和方法:与变量和函数的命名相同。
私有属性和方法:前缀为_(下划线),后跟与公共属性和方法相同的命名方法。
示例:
函数Student(name){ var _ name=name;//私有成员//公共方法this。getname=function(){ return _ name;}//公共模式这个。set name=function(value){ _ name=value;} } var ST=new Student(' Tom ');ST . SetName(' Jerry ');console . log(ST . getname());//=jerry:输出私有变量_name II的值。注释规格
JS支持两种不同类型的注释:单行注释和多行注释。
2.1单行注释
注意:单行注释以两个斜线开始,以行尾结束。
语法://这是单行注释
用法:
单行://(双斜线)在注释文本之间保留一个空格。
在代码后添加注释://(双斜线)在代码之间保留空格,/(双斜线)在注释文本之间保留空格。
注意代码://(双斜线)并在代码之间保留一个空格。
示例:
//调用了一个函数;1)在一行上设置;var maxCount=10//设置最大金额;2)代码后的Comment///setName();//3)注释代码2.2多行注释
描述:以/*开头,以*/结尾
语法:/*注释*/
用法:
如果开头(/*)和结尾(*/)在同一行,建议使用单行注释。
如果注释至少有三行,第一行为/*,最后一行为*/,其他行以*开头,注释文本与*之间留有空格。
示例:
/* *这里执行完代码后,会调用setTitle()函数* setTitle():设置title */setTitle()的值;2.3函数(方法)注释
注意:函数(方法)标注也是多行标注的一种,但包含特殊的标注要求。请参考javadoc(百度百科)。
语法:
/* * *功能描述* @关键词*/常用评论关键词:(仅列出部分,并非全部)
注释名称@param @param参数名称{参数类型}描述信息描述参数信息@param名称{String}传入名称@return @return {return type}描述信息描述返回值信息@return {Boolean} true:可执行;True :无法执行@ author @ author information[附属信息:如电子邮件地址、日期]描述此函数作者的信息@ author Zhang San 2015/07/21 @ version xx . xx . xx描述此函数的版本号@ version 1.0.3 @ example @ example示例代码演示了函数@ examplesettle(')
/* * *合并网格* @param网格{Ext。网格.面板}需要合并网格* @参数列{数组}需要合并列的索引数组;从0开始计数,序列号也包含。* @param isAllSome {Boolean}:合并前是否必须完成2个trs的cols。真:完全一样;True(默认):不完全是false * @ return void * @ author pol K6 2015/07/21 * @ example * _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ |。- mergeCells(grid,[0]) * | 18 |张三|=| |张三| *-18函数合并单元格(grid,cols,isall some){//做某事} III。框架开发
3.1全局变量冲突
当团队开发或引入第三方JS文件时,有时会导致全局对象的名称冲突。例如,a.js有一个全局函数sendsg(),b.js也有一个全局函数sendsg()。当引入a.js和b.js文件时,sendMsg()函数会发生冲突。
示例:
3.2单一全局变量
创建的全局对象名是唯一的,所有功能代码都添加到该全局对象中。当调用自己的代码时,将这个全局对象作为入口点。
例如:
* JQuery的全局对象:$和JQuery
* Ext js的全局对象:Ext
示例:
3.3命名空间
随着项目规模的不断扩大,JS代码可以通过命名空间进行标准化,即按照功能对代码进行分组,并以组的形式附加到单个全局对象上。
以Ext的图表模块为例:
更多对JavaScript相关内容感兴趣的读者可以查看本网站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》、《JavaScript数学运算用法总结》和0103010
摘要
以上就是本文的全部内容。希望这篇文章的内容对你的学习或工作有所帮助。有问题可以留言交流。
版权声明:超全面的JavaScript开发规范(推荐)是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。