JavaScript编码规范(初稿)
- 格式:doc
- 大小:37.00 KB
- 文档页数:5
JS前端编码规范⼀个是保持代码的整洁美观,同时良好的代码编写格式和注释⽅式可以让后来者很快地了解你代码的⼤概思路,提⾼开发效率。
不规范写法举例1. 句尾没有分号var isHotel = json.type == "hotel" ? true : false2.变量命名各种各样var is_hotel;var isHotel;var ishotel;3. if 缩写if (isHotel)console.log(true)elseconsole.log(false)4. 使⽤ evalvar json = eval(jsonText);5. 变量未定义到处都是function() {var isHotel = 'true';.......var html = isHotel ? '<p>hotel</p>' : "";}6. 超长函数function() {var isHotel = 'true';//....... 此处省略500⾏return false;}7. ..........书写不规范的代码让我们难以维护,有时候也让我们头疼。
(禁⽌)、(必须)等字眼,在这⾥只是表⽰强调,未严格要求。
前端规范之JavaScript1. tab键⽤(必须)⽤四个空格代替这个原因已经在说过了,不再赘述。
2. 每句代码后(必须)加";"这个是要引起注意的,⽐如:a =b // 赋值(function(){//....})() // ⾃执⾏函数未加分号,结果被解析成a = b(function(){//...})() //将b()()返回的结果赋值给a这是截然不同的两个结果,所以对于这个问题必须引起重视3. 变量、常量、类的命名按(必须)以下规则执⾏: 1)变量:必须采⽤骆驼峰的命名且⾸字母⼩写// 正确的命名var isHotel,isHotelBeijing,isHotelBeijingHandian;// 不推荐的命名var is_Hotel,ishotelbeijing,IsHotelBeiJing; 2)常量:必须采⽤全⼤写的命名,且单词以_分割,常量通常⽤于ajax请求url,和⼀些不会改变的数据// 正确的命名var HOTEL_GET_URL = '/detail',PLACE_TYPE = 'hotel'; 3)类:必须采⽤骆驼峰的命名且⾸字母⼤写,如:// 正确的写法var FooAndToo = function(name) { = name;}4. 空格的使⽤ 1)if中的空格,先上例⼦//正确的写法if (isOk) {console.log("ok");}//不推荐的写法if(isOk){console.log("ok");}()中的判断条件前后都(必须)加空格()⾥的判断前后(禁⽌)加空格,如:正确的写法: if (isOk);不推荐的写法: if ( isOk ) 2)switch中的空格, 先上例⼦//正确的写法switch(name) {case "hotel":console.log(name);break;case "moive":console.log(name);break;default:// code}//不推荐的写法switch (name) { // switch 后不应该有空格, 正确的写法: switch(name) { // codecase "hotel":console.log(name);break; // break; 应该和console.log对齐case "movie": // 每个case之前需要有换⾏console.log(name);break; // break; 应该和console.log对齐default:// code} 3)for中的空格,先上例⼦// 正确的写法var names = ["hotel", "movie"],i, len;for (i=0, len=names.length; i < len; i++) {// code}// 不推荐的写法var names = ["hotel", "movie"],i, len;for(i = 0, len = names.length;i < len;i++) { // for后应该有空格,每个`;`号后需要有空格,变量的赋值不应该有空格 // code}for后(必须)加空格每个;后(必须)加空格()中禁⽌⽤var声明变量; 且变量的赋值= 前后(禁⽌)加空格 4)function中的空格, 先上例⼦// 正确的写法function call(name) {}var cell = function () {};// 不推荐的写法var call = function(name){// code}参数的反括号后(必须)加空格function后(必须)加空格 5)var中空格及定义,先上例⼦// ⼀个推荐的var写法组function(res) {var code = 1 + 1,json = JSON.parse(res),type, html;// code}声明变量=前后(必须)添加空格每个变量的赋值声明以,结束后(必须)换⾏进⾏下⼀个变量赋值声明(推荐)将所有不需要进⾏赋值的变量声明放置最后⼀⾏,且变量之间不需要换⾏(推荐)当⼀组变量声明完成后,空⼀⾏后编写其余代码5. 在同⼀个函数内部,局部变量的声明必须置于顶端因为即使放到中间,js解析器也会提升⾄顶部(hosting)// 正确的书写var clear = function(el) {var id = el.id,name = el.getAttribute("data-name");.........return true;}// 不推荐的书写var clear = function(el) {var id = el.id;......var name = el.getAttribute("data-name");.........return true;}推荐阅读:6. 块内函数必须⽤局部变量声明// 错误的写法var call = function(name) {if (name == "hotel") {function foo() {console.log("hotel foo");}}foo && foo();}// 推荐的写法var call = function(name) {var foo;if (name == "hotel") {foo = function() {console.log("hotel foo");}}foo && foo();}引起的bug:第⼀种写法foo的声明被提前了; 调⽤call时:第⼀种写法会调⽤foo函数,第⼆种写法不会调⽤foo函数注:不同浏览器解析不同,具体请移步汤姆⼤叔7. (禁⽌)使⽤eval,采取$.parseJSON三个原因:有注⼊风险,尤其是ajax返回数据不⽅便debug效率低,eval是⼀个执⾏效率很低的函数建议: 使⽤new Function来代替eval的使⽤,最好就别⽤。
js代码规范JavaScript代码规范(1000字)JavaScript是一种广泛使用的脚本语言,具有灵活性和强大的功能。
为了使代码可读性更好、易于维护和共享,遵循一定的代码规范是非常重要的。
下面是一些常用的JavaScript代码规范。
1. 缩进:使用4个空格作为缩进。
不要使用制表符。
2. 空格:在运算符和操作数之间使用空格,使代码更易读。
3. 大括号:在if、for、while等语句中始终使用大括号。
即使语句只有一行,也应使用大括号。
这样可以减少错误,并提高代码的可读性。
4. 变量命名:使用驼峰命名法(camel case)命名变量和函数。
变量名应具有描述性,并遵循一致的命名约定。
5. 常量命名:使用全大写字母和下划线命名常量。
示例:MAX_LENGTH。
6. 注释:使用注释来解释代码的目的和用途。
对于复杂的代码块或特殊的算法,添加详细的注释是非常重要的。
7. 函数:函数应该具有描述性的名字,并且只完成一个任务。
函数应该尽量保持简短,并避免嵌套过深。
8. 字符串:使用单引号或双引号括起字符串,并保持一致。
示例:var name = 'John';。
9. 变量声明:始终使用var关键字声明变量。
这样可以提高代码的可读性,并避免变量泄漏到全局作用域。
10. 分号:在每条语句的末尾添加分号。
这样可以避免出现一些难以排查的错误。
11. 引号:避免在对象字面量中使用引号。
示例:var person = {name: 'John', age: 30};。
12. 布尔类型:避免使用布尔类型的构造函数。
示例:var isValid = true;。
13. 比较运算符:使用全等(===)和不全等(!==)运算符进行比较。
不要使用双等号(==)进行比较。
14. 避免全局变量:避免在全局作用域中定义变量。
将变量封装在函数内部,以减少变量冲突和增加代码的可维护性。
15. 异常处理:在可能引发错误的代码块中使用try-catch语句来处理异常。
Javascript编码规范 (1.0) o简介▪编撰▪要求o空格o对齐和缩进o换行o行长度▪字符串过长截断▪函数调用时参数过多▪三元运算符过长▪过长的逻辑条件组合▪过长的JSON和数组▪单行和跨行参数混用▪数组和对象初始化的混用o命名▪命名法说明▪变量名▪参数名▪函数名▪方法/属性▪私有(保护)成员▪常量名▪类名▪枚举名▪枚举的属性▪命名空间▪语义o语法▪变量声明▪字符串▪对象、数组和正则▪内置原型▪继承▪异常o注释▪类型定义▪文件注释▪命名空间注释▪类注释▪函数/方法注释▪事件注释▪全局变量注释▪常量注释▪细节注释o其它o参考简介本文档主要的设计目标是商业体系前端Javascript开发风格保持一致,使容易被理解和被维护。
编撰张立理、erik、顾轶灵、李玉北、王海洋、王杨、周莲洁。
本文档由商业运营体系前端技术组审校发布。
要求在本文档中,使用的关键字会以中文+括号包含的关键字英文表示:必须(MUST)。
关键字"MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL"被定义在rfc2119中。
空格在特定的位置加上空格有助于代码的可读性,以下位置必须(MUST)加上空格:∙除括号外,所有运算符的前后,如∙用作代码块起始的左大括号{前,包括if、else、try、finally这些关键字之后,以及函数定义的参数列表之后∙以下关键字之后:for、switch、while∙对象初始化({ ... })的每个属性名的冒号:后∙所有逗号,后∙单行的对象初始化({ ... })左大括号{后和右大括号}前注意,在函数参数列表之前不得(MUST NOT)加上空格,以期和函数调用保持一致。
JavaScript编码规范1.说明本规范适用于汉捷机械部件(常州)有限公司信息技术部,为公司的系统开发提供标准及约定,有助于软件开发人员快速掌握JS的编码规则,能够快速的融入到团队开发中,使用团队开发的效率大大提高。
2.命名规范3.1基础命名规范1. 所有变量必须是有意义的英文,禁止使用拼音,如错误的写法:paifuwu();fucusTa();2. 变量允许使用公认英文缩写,如:showMsg();getXML();3. 类命名必须是驼峰式,如:var foo = new MyClass();4. 常量必须所有单词大写,并且每个单词间加下划线,如:var BITMAP_FLAG = 777;5. 枚举类型时,枚举的命名必须有意义,枚举和枚举成员必须以驼峰式或大写:var NodeTypes = {Element : 1,DOCUMENT: 2}6. 常量和枚举必须在最前端定义,脚本合并时注意,必须把常量与枚举定义的文件放在文件列表的第一位7. 变量内的简写单词不能全大写,如:XmlDocument strHtml8. 函数开头必须是有意义的动词或动词短语,如:getSize()setSize()isTrue()9. 私有类的变量属性成员必须使用混合式命名,并前面下下划线,如:_foo_height_getSize()10. 临时的全局变量放到一个全局的哈希表里,方便变量回收11. 大括号前面不能有换行符://正确的写法:if (true) {}//错误的写法:if (true){}3.2高级命名规范1. 前面加“is”的变量名应该为布尔值,亦可使用“can”“has”“should”2. 前面加”str”的变量名应该为字符串3. 前面加“arr”的变量名应该为数组4. 前面加“num”或“count”的变量名应该为数字5. “o”作为局部变量或参数,表示为Object6. “e”作为局部变量或参数,表示为Event7. “el”作为局部变量或参数,表示为Element8. 能缩写的单词尽量缩写9. 避免产生令人误解的布尔值:isNotNumber isNan10. 处理错误的变量,必须在后面跟着“Error”11. 尽量做有意义的代码折行,不要让一行代码过长。
js编码规范JavaScript编码规范是为了提高代码的可读性、可维护性和可扩展性而制定的一系列规定。
下面是一个简洁的JavaScript编码规范,共计1000个字。
1. 缩进使用4个空格,不使用制表符。
2. 在函数和控制语句之间增加空行,以提高可读性。
3. 每行代码的长度不超过80个字符,超过的部分需要换行。
4. 命名使用驼峰命名法,避免使用下划线命名。
5. 变量和函数命名使用有意义的名词或动词短语。
6. 避免使用全局变量,将变量声明在函数内,或者使用模块化开发。
7. 使用const和let关键字声明变量,避免使用var。
8. 将常量定义为全大写的字母组合,使用下划线分隔。
9. 函数和方法之间使用空格进行分隔。
10. 使用单引号或双引号包裹字符串,统一在项目中使用一种引号。
11. 使用===和!==进行严格相等比较,避免使用==和!=进行比较。
12. 避免使用eval函数和with语句,它们可能导致代码执行的不可控性。
13. 在比较运算符和逻辑运算符周围增加空格,提高代码可读性。
14. 使用{}包裹代码块,不省略{}对于HTML和CSS的相关规范,可以参考对应的规范文件。
15. 在函数和方法之间使用空行分隔,提高可读性。
16. 使用箭头函数或者函数表达式,避免使用匿名函数。
17. 在if语句和for循环等控制语句中,使用括号包裹条件,提高可读性。
18. 在数组或对象的声明中,每行只声明一个元素,增加可读性。
19. 避免使用eval函数和with语句,它们可能导致代码执行的不可控性。
20. 使用ES6的模块化规范,避免使用全局变量,改用导入和导出模块。
以上是一个简洁的JavaScript编码规范,它能够帮助开发人员编写出易于阅读、维护和扩展的JavaScript代码。
然而,在实际开发过程中,根据不同的项目和团队需求,具体的编码规范可能会有所不同,因此可以根据实际情况进行调整和补充。
最后,严格遵守编码规范,可以提高团队合作效率,降低代码出错和维护的成本。
JavaScript编程规范--------------------------------------------------------------------- XXXX有限公司对本文件资料享受著作权及其它专属权利,未经书面许可,不得将该等文件资料(其全部或任何部分)披露予任何第三方,或进行修改后使用。
文件更改摘要:目录一、命名规范 (4)1.一般文件及目录命名规范: (4)2.变量命名规范: (4)3.对象命名规范: (5)4.函数命名规范: (5)二、书写格式规范 (6)1.变量使用规范 (6)2.标记的缩进规范 (6)3.注释规范 (6)4.修改注释规范 (7)一、命名规范1. 一般文件及目录命名规范:A.公共函数:“模块名_Common.js”表示,其中,模块名的首字母应大写,例如:客户模块公共函数文件命名为“Cus_Common.js”。
B.列表显示:“模块名+List.js”表示,其中,模块名的首字母应大写,例如:客户列表模块文件命名为:“CusList.js”。
C.增加操作:“模块名+Add.js”表示,其中,模块名的首字母应大写,例如:增加客户模块文件命名为:“CusAdd.js”。
D.修改操作:“模块名+Edit.js”表示,其中,模块名的首字母应大写,例如:修改客户模块文件命名为:“CusEdit.js”。
E.文件名中不能包含任何的空格。
2. 变量命名规范:A.常量以及全局变量名必须全部使用大写字母,常数名中的多个单词使用下划线“_”分隔,例如:var CONST_ED_SFA = "系统错误";B.变量名除首字母小写外,其他单词首字符必须大写,并且必须采用有意义的单词命名,例如:var oDate = new Date();var datStructCustType = oXBDetail.RequestData;C.变量名必须使用其类型的所写字符串开始。
JS规范文档范文JavaScript(简称JS)是一种广泛应用于Web开发的脚本语言。
为了提高代码的可读性、维护性和可扩展性,JavaScript社区制定了一系列代码规范。
本文将介绍一些常见的JavaScript规范,并提供一些编码建议和最佳实践。
一、命名规范1. 变量和函数名使用驼峰命名法(camelCase),即首字母小写,后面每个单词的首字母大写。
2. 类名使用帕斯卡命名法(PascalCase),即每个单词的首字母大写。
3.常量使用全大写字母,多个单词用下划线分隔。
4.避免使用单个字符或者全称不清晰的缩写命名。
二、缩进和空格1.使用4个空格进行缩进,不使用制表符。
2.在每个逻辑块之前添加空行,提高代码的可读性。
3.运算符两侧添加空格,增加代码的可读性。
三、注释规范1.使用行注释(//)或者块注释(/**/)对代码进行注释。
2.注释应该清楚地描述代码的功能和用途。
3.代码的重要或复杂部分应该进行详细的注释,帮助他人理解代码。
四、函数规范1.函数应该完成一个具体的任务,保持简洁和可复用。
2.函数的命名应该清晰表达其功能。
3.函数的参数应该明确,避免使用过多的参数,可以使用对象作为参数。
4.函数应该有明确的返回值,避免使用全局变量。
五、条件语句和循环1.使用大括号({})包裹条件语句和循环体,即使只有一行代码。
2.在条件语句中始终使用严格等于(===)运算符,避免隐式类型转换。
3.避免在条件判断中使用赋值操作符(=),使用比较操作符(==或者===)。
六、模块化和文件结构1. 将JavaScript代码分为多个模块,每个模块负责一个功能。
2. 使用ES6的模块化语法(import和export)进行模块化开发。
3.将不同功能的文件组织到不同的文件夹中,提高代码的可维护性。
七、错误处理1.避免使用全局异常处理,应该在代码内部进行错误处理。
2. 使用try-catch语句捕获和处理可能的异常。
3.使用适当的错误消息和错误类型,方便调试和定位问题。
JavaScript 编码规范一、命名规范1.允许名称中包含字母,数字,下划线'_'和‘$’,区分大小写2.变量(函数)的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解3.命名中若使用特殊约定或缩写,则要有注释说明4.除了在xpcom组件中,尽量不要使用“_”作为变量(函数)名的第一个字符。
它有时用来标识私有变量(函数),但实际上javascript并没有提供私有变量的功能。
如果私有变量很重要,可以使用私有成员的形式,应避免使用这种容易让人误解的命名习惯5.用正确的反义词组命名具有互斥意义的变量或相反动作的函数等注意:没有关系的变量不要使用***1,***2,***3,***4没有测试意义的变量(函数)不要用test开头二、声明1.变量声明1)所有变量必须在使用前定义,尽管javascrip并不强制要求这样做,但是这样做可以增加程序的可读性,且容易发现那些没有声明的变量(它们会被编译成全局变量)2)尽量减少全局变量的使用,不要让局部变量覆盖全局变量3)在函数的开始应先用 var 关键字声明函数中要使用的局部变量,每个变量单独占一行,注释变量的功能及代表的含义。
2.函数声明1)所有函数也必须在调用前进行声明2)内部函数应在 var 声明内部变量的语句之后声明,可以清晰地表明内部变量和内部函数的作用域。
三、语句1.一行最多有一个语句,语句后边要有“;”注:如果一个赋值语句是用函数和对象来赋值,可能需要跨多行,一定切记要在赋值语句末加上分号。
这是因为 JavaScript 中,所有表达式都可以当语句,遇换行符时会解析为表达式的结束,此时不规范的换行和分号的丢失,可能引入新的错误。
2.对于复合语句,if, for, while, do, switch, try … catch 等代码体,函数定义的函数体,对象的定义等都需要放在花括号'{}'里面。
javascript代码规范[键入文档副标题]李博[选取日期]目录1.JS文件基本规范 (2)1.1. JavaScript文件 (2)1.2. 版权和版本的声明 (2)1.3. 编码格式 (2)2. 程序的版式 (3)2.1. 空格 (3)2.2. 缩进 (3)2.3. 行宽 (4)2.4. 注释 (4)2.5. 变量声明 (5)2.6. 方法声明 (6)2.7. 命名规则 (8)3. 语句的规范 (8)3.1. 简单语句 (8)3.2. 复杂语句 (8)3.3. 语句实例 (9)3.3.1. r eturn语句 (9)3.3.2. i f语句 (9)3.3.3. f or语句 (9)3.3.4. w hile语句 (10)3.3.5. d o语句 (10)3.3.6. s witch语句 (11)3.3.7. t ry语句 (11)3.3.8. c ontinue语句 (12)3.3.9. w ith语句 (12)3.4. 额外建议 (12)3.4.1. {}和[] (12)3.4.4. 赋值表达式 (12)3.4.5. ===和!==操作符 (12)3.4.6. 令人混淆的加和减 (13)3.4.7. 邪恶的eval (13)JS文件基本规范1.1.JavaScript文件JavaScript程序应该作为一个单独的.js文件存储和发布。
JavaScript代码不应该嵌入在HTML文件里,除非那些代码是一个单独的会话特有的。
HTML里的JavaScript代码大大增加了页面的大小,并且很难通过缓存和压缩来缓解。
<script src=”filename.js”>标签应该在body里越靠后的位置越好。
这减少了由于加载script而导致的其它页面组件的延迟。
没有必要使用language或者type属性。
由服务器而不是script标签来决定MIME类型。
1.2.版权和版本的声明版权和版本的声明位于文件的开头,以注释的结构出现,如图表 1-1所示:/**可视化网页编辑器***摘要:简要叙述本文件内容以及功能**当前版本:1.1*作者:输入作者(或修改者)名字*完成日期:**年*月*日**取代版本:1.0*原作者:输入原作者(或修改者)名字*完成日期:**年*月*日*/图表1-1 版权和版本声明1.3.编码格式所有js文件(以及其他html、css等文件),均使用utf-8编码2.程序的版式2.1.空格空行通过将逻辑相关的代码放到一起来增加可读性。
JavaScript的代码规范作为一门常用且灵活的编程语言,JavaScript能够为网页开发带来很多便利。
然而,由于其灵活性,JavaScript代码往往容易出现混乱和难以维护的问题。
为了提高代码的可读性和可维护性,制定并遵守一套良好的JavaScript代码规范是至关重要的。
一、命名规范1. 变量名、函数名和方法名应该使用驼峰命名法,即首字母小写,后续单词首字母大写。
例如:firstName。
2. 常量名应该全部大写,多个单词之间用下划线(_)分隔。
例如:MAX_COUNT。
3. 类名应该使用帕斯卡命名法,即首字母大写,后续单词首字母大写。
例如:Person。
二、缩进和空格1. 使用两个空格进行缩进,并确保在代码块之间的一致性。
2. 操作符前后应该加上空格,例如:var x = y + z;。
3. 在大括号({})前使用一个空格,例如:if (x > 0) {。
4. 在逗号(,)后面使用一个空格,例如:var fruits = ['apple', 'banana', 'orange'];。
三、注释规范1. 使用注释来解释代码的意图和功能,提高代码的可读性。
2. 使用单行注释(//)或多行注释(/* */)来注释代码。
3. 在函数、类和方法的上方使用多行注释来说明其功能和输入输出。
四、代码格式1. 所有语句结尾都应该加上分号(;),即使在可选的情况下也应该如此。
2. 在逻辑行结束后换行,不要过长的一行代码。
3. 在操作符之间使用空格,但在逗号后不需要加上空格。
4. 使用合理的缩进,保持代码块的整洁和可读性。
五、变量和常量声明1. 使用var来声明变量,避免使用全局变量。
2. 在函数或代码块的顶部声明变量,避免变量声明的提升带来的问题。
3. 声明变量时给其赋初值,避免出现undefined的情况。
4. 使用const或let来声明常量或块级作用域的变量,以提高代码的可维护性。
JavaScript编码规范
前言
为规范JavaScript开发人员编码习惯,特制定本规范。
文件
后缀为.js的文件用于存放一组相关的JavaScript逻辑代码。
比如,一组定义好的相互关联的JavaScript类, 一组工具函数等等. 如果某些定义好的JavaScript类、对象或函数具有较高的关联性,在实际应用中它们应该都会被加载到同一页面中,所以应将其放在同一个js 文件中,以减少浏览器请求加载js文件的次数。
缩进
缩进应采用2个字符宽度的TAB键。
因为TAB键在不同的编辑器中可以灵活调整所占宽度。
而使用2个字符宽度比常用的4字符宽度的TAB更节省行宽,便于在一行容下更多代码。
以下场合应采用缩进格式。
方法体内部代码块;
循环结构;
条件分支;
try…catch结构;
其它用大括号包括起来的语句。
行宽
应尽量在一行书写不超过80个字符。
过长的行宽会增加阅读难度。
换行应在运算符号后面。
例如:
//长字符串换行
var longText = "long long long long long long long long long long long long long long long "+ long long long long text";
//长语句换行
if( a!=b && b!=c && c!=d && d!= e && e!=f && g!=h && h!=i && i!=j && j!=k &&
l!=m && n!=o && o!=p ){
...
}
//长的对象方法调用换行
var obj = TaskGroupManager.getInstance().getGroup(0).
getDisplayCondition();
注释
不要吝啬注释。
给以后需要理解你的代码的人们(或许就是你自己)留下信息是非常有用的。
注释应该和它们所注释的代码一样是书写良好且清晰明了。
注释要跟代码同步,保持及时更新。
错误的注释会让程序更加难以阅读和理解。
要让注释有意义。
重点在解释那些不容易立即明白的逻辑上。
不要把读者的时间浪费在阅读类似于:
i = 0; //让i等于0
命名
变量、函数或对象名应由26个大小写字母(A-Z,a-z),10个数字(0..9),和_下划线组成。
常量中不应该出现小写字母。
变量的命名应采用名词或约定俗成的名词缩写形式。
而方法名多采用动词形式。
例如:
var name, length, len;
function submit(){};
function move(x,y){};
function addData(data)
由于JavaScript没有作用域修饰符,为便于识别,对于类作用域中的私有变量或方法名(这类变量或方法在使用时,其前面带有this关键字)应采用下划线开头。
需要公开的方法或变量则以小写字母开头。
例如:
function Person(name){
= name;
this._init();
}
Person.prototype._init = function(){
...
}
Person.prototype.hello = function(){
alert("hello "+ );
}
执行
var p = new Person("Mike");
p.hello();
或
alert();
执行效果是一样的。
复合语句
复合语句是被包含在“{ }”(大括号)的语句序列。
被括起的语句必须多缩进2个字符。
“{”(左大括号)应在复合语句起始行的结尾处。
“}”(右大括号)应与“{”(左大括号)的那一行的开头对齐。
大括号应该在所有复合语句中使用,即使只有一条语句,当它们是控制结构的一部分时,比如一个if 或者for 语句。
这样做可以避免以后添加语句时造成的错误。
其它书写建议
下面这些建议可以简化代码、提高代码执行效率或避免错误。
使用{}来代替new Object(). 使用[]代替new Array()。
例如:
var myObj = {};
var myArr = [];
对于数组,推荐采用array.push(v)方法往数组添加元素。
如果要将多个字串连接成一个字串,应创建一个数组,然后将每个字串push进去,最后再用数组的join()方法连接起来。
在比较变量是否存在的情况下,可以使用||来代替?:运算符。
例如:
var p = name?name:""
可以写成
var p = name||"";
检查变量是否存在(为null还是undefine或空串或0值),可以写成:
if( v ){...}
而不是
if( v!=null || v!="" ){...}
比较变量是否为某确定字串时,确定的字串应该放在比较运算符的左边。
这样可以避免“变
量未定义”异常。
例如:
if( "esensoft"==company )
JavaScript调用约定
1. js文件
采用<script src="xxx.js">引入第三方js文件。
同一文件不要重复引用,会造成不必要的网络开销。
<script src="xxx.js">统一写在</html>结束标签后面.
同一js控件相关代码,最好写在一个js文件中。
例如dialog.js中,除主控件Dialog外,其它跟dialog相关的公用对话框等,都写在此文件中,这样可以节省网络下载的开销。
(建议报表期选择框相关代码合并成一个文件。
)
2. js中的ajax请求
统一采用QueryObj的异步方式。
不建议采用同步方式。
这样会造成界面响应不灵敏。
请求时所用的action,有现成的最好采用现成的。
不要造新轮子。
action的访问名称统一采用Action对应的类名的小写。
ajax请求所用的Action类一般放在com.sanlink.irpt4.action.js下。
绝对不可放在com.sanlink.irpt4.action.client下,这个是专门提供给插件用的。
3. 菜单命令
菜单命令所用的function统一放在bbhviewcmd.js中。
4. 汇总户界面基本功能代码
比如控制插件打开,关闭,列宽,列表显示控制等基础功能,统一放在bbhviewhelper.js中。
此文件中的代码一般是不提供给菜单命令调用的。
5. 弹出窗口
弹出Jsp窗口采用Dialog.showUrlInDialog(url)来显示。
不要使用ie的showModalDialog方法。
提示错误信息,采用Dialog.showError(err);
提示常规消息,采用Dialog.showInfo(msg)或alert()
提示警告信息,采用Dialog.showWarn(wrn);
提示确认框,采用Dialog.showConfirm(msg, onOk, OnCancel)
6. 界面上层的使用约定
var DIALOG_BASE_LAYER = 500;//对话框的基本层
var DIALOG_TOP_LAYER = 9000;//最上层显示层。
var DIALOG_MSGBOX_LAYER = 9500;//信息框显示层。
var DIALOG_FLOAT_ELM_LAYER = 9050;//浮动于Dialog上的但是又可以被信息框盖住的浮动元素,比如Hints, combox的下拉框等。
不建议使用FloatDiv.。