版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
慎而思之,勤而行之。斯是陋室,惟吾德馨。第第2页/共2页精品文档推荐2023年javascript的基本规范收拾javascript的基本规范
对于许多刚到公司做前端的人来说,许多基本的规范可能都不知道。在项目开辟维护等工作中,我们不只要做得自己看得懂,还要别人也看得懂。而在js里也是如此。下面就由我给大家分享下,js的一些基本规范吧。
本篇主要推荐JS的命名规范、解释规范以及框架开辟的一些问题。
目录
1.命名规范:推荐变量、函数、常量、构造函数、类的成员等等的命名规范
2.解释规范:推荐单行解释、多行解释以及函数解释
3.框架开辟:推荐全局变量矛盾、单全局变量以及命名空间
1.命名规范
驼峰式命名法推荐:
驼峰式命名法由小(大)写字母开始,后续每个单词首字母都大写。
按照第一个字母是否大写,分为:
①PascalCase大驼峰式命名法:首字母大写。eg:StudentInfo、UserInfo、ProductInfo
②CamelCase小驼峰式命名法:首字母小写。eg:studentInfo、userInfo、productInfo
1.1变量
命名主意:小驼峰式命名法。
命名规范:前缀应该是名词。(函数的名字前缀为动词,以此区别变量和函数)
命名建议:尽量在变量名字中体现所属类型,如:length、count等表示数字类型;而包含name、title表示为字符串类型。
示例:
//好的命名方式
varmaxCount=10;
vartableTitle=LoginTable;
//不好的命名方式
varsetCount=10;
vargetTitle=LoginTable;
1.2函数
命名主意:小驼峰式命名法。
命名规范:前缀应该为动词。
命名建议:可使用常见动词约定
动词含义返回值
can判断是否可执行某个动作(权限)函数返回一个布尔值。true:可执行;false:不可执行
has判断是否含有某个值函数返回一个布尔值。true:含有此值;false:不含有此值
is判断是否为某个值函数返回一个布尔值。true:为某个值;false:不为某个值
get获取某个值函数返回一个非布尔值
set设置某个值无返回值、返回是否设置胜利或者返回链式对象
load加载某些数据无返回值或者返回是否加载完成的结果
示例:
//是否可阅读
functioncanRead(){
returntrue;
}
//获取名称
functiongetName(){
return;
}
1.3常量
命名主意:名称所有大写。
命名规范:使用大写字母和下划线来组合命名,下划线用以分割单词。
命名建议:无。
示例:
varMAX_COUNT=10;
varURL=http://.baidu;
1.4构造函数
推荐:在JS中,构造函数也属于函数的一种,只不过采用new运算符创建对象。
命名主意:大驼峰式命名法,首字母大写。
命名规范:前缀为名称。
命名建议:无。
示例:
functionStudent(name){
=name;
}
varst=newStudent(tom);
1.5类的成员
类的成员包含:
①公共属性和主意:跟变量和函数的命名一样。
②私有属性和主意:前缀为_(下划线),后面跟公共属性和主意一样的命名方式。
示例:
functionStudent(name){
var_name=name;//私有成员
//公共主意
this.getName=function(){
return_name;
}
//公共方式
this.setName=function(value){
_name=value;
}
}
varst=newStudent(tom);
st.setName(jerry);
console.log(st.getName());//=jerry:输出_name私有变量的值
2.解释规范
JS支持两种不同类型的解释:单行解释和多行解释。
2.1单行解释
说明:单行解释以两个斜线开始,以行尾结束。
语法://这是单行解释
使用方式:
①单独一行://(双斜线)与解释文字之间保留一个空格。
②在代码后面添加解释://(双斜线)与代码之间保留一个空格,并且//(双斜线)与解释文字之间保留一个空格。
③解释代码://(双斜线)与代码之间保留一个空格。
示例:
//调用了一个函数;1)单独在一行
setTitle();
varmaxCount=10;//设置最大量;2)在代码后面解释
//setName();//3)解释代码
2.2多行解释
说明:以/*开始,*/结尾
语法:/*解释说明*/
使用主意:
①若开始(/*)和结束(*/)都在一行,推荐采用单行解释。
②若至少三行解释时,第一行为/*,总算行为*/,其他行以*开始,并且解释文字与*保留一个空格。
示例:
/*
*代码执行到这里后会调用setTitle()函数
*setTitle():设置title的值
*/
setTitle();
2.3函数(主意)解释
说明:函数(主意)解释也是多行解释的一种,但是包含了异常的解释要求,参照javadoc(百度百科)。
语法:
/**
*函数说明
*@关键字
*/
常用解释关键字:(只列出一部分,并不是所有)
解释名语法含义示例
@param@param参数名{参数类型}描述信息描述参数的信息@paramname{String}传入名称
@return@return{返回类型}描述信息描述返回值的信息@return{Boolean}true:可执行;false:不可执行
@author@author信息[附属信息:如邮箱、日期]描述此函数的信息@author张三2023/07/21
@version@versionXX.XX.XX描述此函数的版本号@version1.0.3
@example@example示例代码演示函数的使用@examplesetTitle(测试)
示例:
/**
*合并Grid的行
*@paramgrid{Ext.Grid.Panel}需要合并的Grid
*@paramcols{Array}需要合并列的Index(序号)数组;从0开始计数,序号也包含。
*@paramisAllSome{Boolean}:是否2个tr的cols必须完成一样才干举行合并。true:完成一样;false(默认):不彻低一样
*@returnvoid
*@authorpolk62023/07/21
*@example
*__________________________________
*|年龄|姓名||年龄|姓名|
*mergeCells(grid,[0])
*|18|张三|=||张三|
*-18
*|18|王五|||王五|
*
*/
functionmergeCells(grid,cols,isAllSome){
//DoSomething
}
3.框架开辟
3.1全局变量矛盾
在团队开辟或者引入第三方JS文件时,偶尔会造成全局对象的'名称矛盾,比如a.js有个全局函数sendMsg(),b.js也又有个全局函数sendMsg(),引入a.js和b.js文件时,会造成sendMsg()函数矛盾。
示例:
#FormatImgID_0#
3.2单全局变量
所创建的全局对象名称是独一无二的,并将所有的功能代码添加到这个全局对象上。调用自己所写的代码时,以这个全局对象为入口点。
如:
*JQuery的全局对象:$和
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度城市综合体门头租赁管理服务协议
- 二零二五年度C型钢智能化生产系统建设合同3篇
- 2025年度租猪场养猪与市场推广合作合同
- 2025版事业单位聘用合同正规范本(含绩效管理)3篇
- 2025年度股东退股协议书:XX物流公司股东股权剥离与退股合同
- 二零二五年度菜鸟驿站社区便利店合作招商合同范本
- 二零二五年度AC311A直升机购销及维修配件全球配送协议3篇
- 二零二五年度融创物业清洁服务合同
- 泰州市2025年度二手房购买合同样本2篇
- 二零二五年度光伏发电设备安装与运营服务承包合同范本3篇
- 【高空抛物侵权责任规定存在的问题及优化建议7100字(论文)】
- 二年级数学上册100道口算题大全 (每日一套共26套)
- 物流无人机垂直起降场选址与建设规范
- 肺炎临床路径
- 外科手术铺巾顺序
- 创新者的窘境读书课件
- 如何克服高中生的社交恐惧症
- 聚焦任务的学习设计作业改革新视角
- 移动商务内容运营(吴洪贵)任务三 APP的品牌建立与价值提供
- 电子竞技范文10篇
- 食堂服务质量控制方案与保障措施
评论
0/150
提交评论