`

js规范

    博客分类:
  • js
 
阅读更多

 

匿名函数

要避免全局变量泛滥, 可以考虑使用匿名函数, 把不需要在外部访问的变量或者函数限制在一个比较小的范围内。

例如以下代码:

<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的语言规范,可以从根上学习JavaScript。”...

    JS 规范 插件 写法

    "JS规范"指的是编写JavaScript代码时应遵循的规则和最佳实践,而"插件写法"则涉及到如何设计和实现可复用、可扩展的功能模块。 **JS规范** 1. **命名规范**:使用有意义的变量、函数和类名,通常推荐采用驼峰式...

    业务发展中心技术部JavaScript规范

    在九城网络技术集团有限公司的业务发展中心技术部,他们有一套详细的JavaScript规范,涵盖了变量命名、变量使用、对象命名、函数命名以及JS文件命名等方面。 首先,关于**变量命名规范**: 1. 常量和全局变量使用全...

    Airbnb出品目前非常流行的JavaScript代码规范中文版

    这份"Airbnb出品目前非常流行的JavaScript代码规范中文版"为国内开发者提供了一个清晰、一致的编程指南,帮助我们写出更规范、更具可读性的JavaScript代码。 1. **命名约定**: - 变量名应清晰反映其用途,使用...

    前端vue,html,js开发规范,前端vue,html,js开发规范

    本篇主要介绍Vue.js、HTML和JavaScript的开发规范,按照阿里前端开发规范目录进行详细阐述。 ### 一、编程规约 #### (一) 命名规范 1. **项目命名**:项目命名应清晰反映项目内容,采用小驼峰式命名,如`...

    JavaScript规范

    JavaScript 代码规范 **用更合理的方式写 JavaScript**

    前端js代码规范

    ### 前端JS代码规范详解 #### 一、引言 随着前端技术的不断发展,JavaScript作为一门重要的编程语言,在Web开发中扮演着至关重要的角色。为了提高代码的可读性和可维护性,制定一套统一的编码规范显得尤为重要。...

    JavaScript程序编码规范.pdf

    - **文件命名**:JavaScript文件应当使用`.js`作为扩展名。 - **HTML嵌入**:不建议将JavaScript代码直接嵌入到HTML文件中,除非这部分代码仅在此处使用。这样做的好处是可以减小HTML文件的体积,同时还可以优化...

    Google_JavaScript_编码规范指南

    根据提供的文件信息,关于Google JavaScript编码规范指南,我们可以详细学习和探讨以下知识点: 1. JavaScript语言规范:在编写JavaScript代码时,必须遵循一定的规范来确保代码的可读性和可维护性。这部分内容通常...

    Javascript代码规范JS文件基本规范

    javascript,Javascript代码规范JS文件基本规范Javascript代码规范JS文件基本规范

    JavaScript编码规范

    ### JavaScript编码规范详解 #### 1. 前言 随着JavaScript在前端开发中的广泛应用,尤其是在浏览器端的行为管理方面,确保代码风格的一致性对于提高团队协作效率至关重要。本篇文章旨在提供一套统一的JavaScript...

    介绍最新的ECMAScriptJavaScript规范以及TC39的提案进度

    **JavaScript与ECMAScript规范详解** JavaScript,一种广泛应用于网络开发的编程语言,其核心语法标准是由ECMA国际制定的,名为ECMAScript(ES)。最新版本的ECMAScript规范不断引入新的特性和功能,以适应不断变化...

    JavaScript编码通用规范-顺丰

    JavaScript编码通用规范是软件开发中一个非常重要的环节,它确保了代码的质量、可读性和可维护性。在顺丰这样的大型企业中,遵循统一的编码规范更是必不可少,有助于团队协作和项目持续发展。以下是对JavaScript编码...

    阿里前端开发规范.pdf

    这份规范涵盖了多个方面的编程规约,包括命名规范、HTML 规范、CSS 规范、LESS 规范以及 JavaScript 规范,并专门针对 Vue 项目提出了特别的要求。 在命名规范方面,项目命名应具有可读性和描述性,反映项目的功能...

    js,css前端规范

    JavaScript规范** 1.1 **命名规范** - 变量名、函数名使用小驼峰式命名(camelCase),如:myVariable。 - 常量全大写,单词间用下划线分隔(CONSTANT_NAME)。 - 避免使用保留字作为变量名。 1.2 **注释规范*...

    js2c#-js转换c#代码

    JavaScript(简称JS)是一种广泛用于前端开发的轻量级脚本语言,而C#则是一种面向对象的编程语言,常用于构建Windows桌面应用、游戏、服务端应用等。"js2c#"工具正是一个旨在帮助开发者将JavaScript代码转换为C#代码...

    js写法规范.docx

    为了实现这一目标,遵循一套完备的JavaScript编程规范是每个前端开发者必须掌握的技能。这些规范不仅帮助团队成员高效协作,还确保了代码长期的可维护性和稳定性。接下来,我们将详细探讨一些JS编程的最佳实践,以期...

    JavaScript编程规范编程规范

    JavaScript编程规范旨在提升代码质量和可读性,是开发者遵循的一套约定和最佳实践。以下是根据提供的部分内容解析出的JavaScript编程规范的关键点: 1. **排版** - **规则1**:程序块使用4个空格缩进,不使用TAB,...

Global site tag (gtag.js) - Google Analytics