手机版

超全面的JavaScript开发规范(推荐)

时间:2021-09-06 来源:互联网 编辑:宝哥软件园 浏览:

本文主要介绍了关于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或者邮箱删除。