匿名函数
要避免全局变量泛滥, 可以考虑使用匿名函数, 把不需要在外部访问的变量或者函数限制在一个比较小的范围内。
例如以下代码:
<script>
function func1(){
var list = ["a", "b", "c"];
for(var i = 0; i < list.length; i++){
//..
};
}
func1(); // 自动运行
</script>
这段代码的作用是在页面加载的时候自动执行某些操作, 并不需要被外部调用, 但是它执行过后却留下了一个全局的函数。
像这种情况, 非常有必要使用匿名函数:
<script>
(function func1(){
var list = ["a", "b", "c"];
for(var i = 0; i < list.length; i++){
//..
};
})(); // 自动运行
</script>
匿名函数的格式:
(function(){
// 代码块
})();
如果要带参数的话:
(function(arg1, arg2, argN){
//..
})(arg1, arg2, argN);
命名空间
还有另外一个方法可以减少全局变量, 那就是命名空间, 在JS中可以用"对象-属性"来模拟命名空间;
window.com = {}
window.com.bytter = {}
window.com.bytter.hello = function(){
alert("hello");
}
如果你要给某个已经存在的页面增加功能, 可能要增加十多个函数, 而那个页面已经存在大量的全局变量和函数, 甚至还有函数跟你新增的函数同名, 怎么办?
命名空间是比较好的选择, 你可以创建一个命名空间, 把你的新函数都放在那个命名空间之下, 例如:
<button type="button" onclick="pg.check.userAcc()">检查用户名</button>
<button type="button" onclick="pg.check.userAcc()">检查帐号</button>
<script>
window.pg = {}
window.pg.check = {
// 检查用户名
userName: function(){
//..
},
// 检查帐号
userAcc: function(){
//..
}
};
</script>
互不干扰
结合上述的匿名函数和命名空间的使用, 可以把一个页面中自己维护的代码与其它的代码分隔开来, 将与外部代码的耦合降低到最小。
<script>
// 页面命名空间
window.pg = {}
// 检查用户信息
// 作者:张三
// 最后更新: 2012.12.31
(function(){
// 私有变量
var a, b, c;
// 检查用户信息的相关方法
window.pg.check = {
// 检查用户名
userName: function(){
//..
},
// 检查帐号
userAcc: function(){
//..
}
};
})(); // end 张三的代码
// xxx功能
// 作者:李四
// 最后更新: 2012.1.1
(function(){
window.pg.xxx = {
//..
}
})(); // end 李四的代码
</script>
变量声明
变量必须在使用前用var进行声明;
变量的声明应该放在代码块或者函数的头部;
可在一行内声明多个变量, 但要考虑美观易读;
// 银行名称, 银行帐号
var type, acc;
// 银行名称, 银行帐号
var type = "中国银行", acc = "xxxxxx";
var type = "中国银行", // 银行名称
acc = "xxxxxx"; // 银行帐号
尽量使用易于理解的变量名,如:
var bankType = "中国银行",
bankAccount = "xxxxxx";
命名
普通变量名和函数名采用"小驼峰式命名法", 如:firstName、lastName
作为构造函数的函数采用"大驼峰式命名法", 如:
var Person = function(){
//..
}
var me = new Person();
常量用大写和下划线表示,如:
var ROOT_PATH = "/v10/";
分号
每条语句必须使用分号结尾(特别是需要压缩的js,省略分号常常会导致压缩失败);
大括号
if语句、函数定义、try语句等带大括号的结构, 左大括号应紧跟前面的部分:
// good
var Person = function(){
//..
}
// bad
var Person = function()
{
//..
}
使用复合语句时不要省略大括号{}
// good
for(var i = 0; i < ary.length; i++){
list.push(ary[i]);
}
// bad
for(var i = 0; i < ary.length; i++)
list.push(ary[i]);
以提高代码可读性为前提,允许例外:
if(!data) return;
if(row) list.push(row);
空格
数值操作符(如, +/-/*/% 等)、比较符(大于、小于、等于)两边留空格;
逗号、冒号、分号后要留一个空格(如果后面还有内容的话);
行尾不要有空格;
点号前后不要出现空格;
函数名末尾和左括号之间不要出现空格;
字符串
表示字符串用单引号或双引号均可, 建议统一使用双引号,
但表示html标签时一律使用单引号, 如:
var html = '<div class="msg" ></div>';
数组
使用简便的方式定义数组:
// good
var list = [1, 2, 3];
// bad
var list = new Array();
list[0] = 1;
list[1] = 2;
list[2] = 3;
相关推荐
### JavaScript规范概述 #### 标题与描述解读 **标题**:“JavaScript规范”明确指出了文档的主要内容,即关于JavaScript编程语言的标准规范。 **描述**:“JavaScript的语言规范,可以从根上学习JavaScript。”...
"JS规范"指的是编写JavaScript代码时应遵循的规则和最佳实践,而"插件写法"则涉及到如何设计和实现可复用、可扩展的功能模块。 **JS规范** 1. **命名规范**:使用有意义的变量、函数和类名,通常推荐采用驼峰式...
在九城网络技术集团有限公司的业务发展中心技术部,他们有一套详细的JavaScript规范,涵盖了变量命名、变量使用、对象命名、函数命名以及JS文件命名等方面。 首先,关于**变量命名规范**: 1. 常量和全局变量使用全...
这份"Airbnb出品目前非常流行的JavaScript代码规范中文版"为国内开发者提供了一个清晰、一致的编程指南,帮助我们写出更规范、更具可读性的JavaScript代码。 1. **命名约定**: - 变量名应清晰反映其用途,使用...
本篇主要介绍Vue.js、HTML和JavaScript的开发规范,按照阿里前端开发规范目录进行详细阐述。 ### 一、编程规约 #### (一) 命名规范 1. **项目命名**:项目命名应清晰反映项目内容,采用小驼峰式命名,如`...
JavaScript 代码规范 **用更合理的方式写 JavaScript**
### 前端JS代码规范详解 #### 一、引言 随着前端技术的不断发展,JavaScript作为一门重要的编程语言,在Web开发中扮演着至关重要的角色。为了提高代码的可读性和可维护性,制定一套统一的编码规范显得尤为重要。...
- **文件命名**:JavaScript文件应当使用`.js`作为扩展名。 - **HTML嵌入**:不建议将JavaScript代码直接嵌入到HTML文件中,除非这部分代码仅在此处使用。这样做的好处是可以减小HTML文件的体积,同时还可以优化...
根据提供的文件信息,关于Google JavaScript编码规范指南,我们可以详细学习和探讨以下知识点: 1. JavaScript语言规范:在编写JavaScript代码时,必须遵循一定的规范来确保代码的可读性和可维护性。这部分内容通常...
javascript,Javascript代码规范JS文件基本规范Javascript代码规范JS文件基本规范
### JavaScript编码规范详解 #### 1. 前言 随着JavaScript在前端开发中的广泛应用,尤其是在浏览器端的行为管理方面,确保代码风格的一致性对于提高团队协作效率至关重要。本篇文章旨在提供一套统一的JavaScript...
**JavaScript与ECMAScript规范详解** JavaScript,一种广泛应用于网络开发的编程语言,其核心语法标准是由ECMA国际制定的,名为ECMAScript(ES)。最新版本的ECMAScript规范不断引入新的特性和功能,以适应不断变化...
JavaScript编码通用规范是软件开发中一个非常重要的环节,它确保了代码的质量、可读性和可维护性。在顺丰这样的大型企业中,遵循统一的编码规范更是必不可少,有助于团队协作和项目持续发展。以下是对JavaScript编码...
这份规范涵盖了多个方面的编程规约,包括命名规范、HTML 规范、CSS 规范、LESS 规范以及 JavaScript 规范,并专门针对 Vue 项目提出了特别的要求。 在命名规范方面,项目命名应具有可读性和描述性,反映项目的功能...
JavaScript规范** 1.1 **命名规范** - 变量名、函数名使用小驼峰式命名(camelCase),如:myVariable。 - 常量全大写,单词间用下划线分隔(CONSTANT_NAME)。 - 避免使用保留字作为变量名。 1.2 **注释规范*...
JavaScript(简称JS)是一种广泛用于前端开发的轻量级脚本语言,而C#则是一种面向对象的编程语言,常用于构建Windows桌面应用、游戏、服务端应用等。"js2c#"工具正是一个旨在帮助开发者将JavaScript代码转换为C#代码...
为了实现这一目标,遵循一套完备的JavaScript编程规范是每个前端开发者必须掌握的技能。这些规范不仅帮助团队成员高效协作,还确保了代码长期的可维护性和稳定性。接下来,我们将详细探讨一些JS编程的最佳实践,以期...
JavaScript编程规范旨在提升代码质量和可读性,是开发者遵循的一套约定和最佳实践。以下是根据提供的部分内容解析出的JavaScript编程规范的关键点: 1. **排版** - **规则1**:程序块使用4个空格缩进,不使用TAB,...