javascript的代码写在哪里,js代码有哪些语法规则

大家好,本文将围绕javascript的代码写在哪里展开说明,js代码有哪些语法规则是一个很多人都想弄明白的事情,想搞清楚js代码规范七大原则需要先了解以下几个事情。

JavaScript语言编程规范

1. 命名规则

1.1. 类名

规则:

一个或多个单词构成,每个单词的首字母大写,其余字母小写,单词之间直接相连,没有其他符号。

说明:

例子:

    正确的:TestClass

    错误的:Test_Class、testClass、test_class等

1.2. 公共方法

规则:

    一个或多个单词构成,第一个单词的所有字母均小写,其余每个单词的首字母大写,其余字母小写,单词之间直接相连,没有其他符号GPT改写

说明:

例子:

    正确的:testMethod(), getHtml(), getXml()

    错误的:TestMethod()、test_Method()、test_method()、getHTML()、getXML()等

1.3. 全局变量

规则:

    以“g_”开头,而后由一个或多个单词构成,第一个单词的所有字母均小写,其余每个单词的首字母大写,其余字母小写,单词之间直接相连,没有其他符号。这里,第一个单词前,可使用一个缩写短语表示全局变量的类型,如果使用了类型缩写短语,那么其余所有单词的首字母均大写,其余字母小写。这里的变量类型缩写包括:

    n       表示某种节点(如XML节点、HTML节点等),如nText等

    i       表示整数的列举形式,如nValue等

    lst     list类型

    s       string类型

    d       Date类型

    f       有小数点的数字

    b       布尔类型

说明:

    这里的全局变量指,为全局所有js文件共享的变量,不包括仅被本js文件使用的内部全局变量。例如,一个变量虽然在语法上是全局变量,但是仅在声明它的js文件内部作为全局变量使用,那么其命名规则遵循私有变量的命名规则,而不是本规则。

    上述代表变量类型的缩写词,如果变量的类型已经可以通过变量名明确,则缩写词可以省略,如:fileName,不需要写为sFileName,除非FileName确实不是字符串类型,fileCount不需要写为iFileCount,除非FileCount确实不是整数类型。

例子:

    正确的:g_fileName、g_lstMenuItems等

    错误的:testVar、TestVar、test_var等

1.4. 常量

规则:

    一个或多个单词构成,每个单词的所有字母均大写,单词之间用“_”相连。类型缩写规则同1.3.。

说明:

例子:

    正确的:TEST_CONST

    错误的:test_const、TESTCONST等

1.5. 私有方法

规则:

    以“_”开头,一个或多个单词构成,第一个单词的所有字母均小写,其余每个单词的首字母大写,其余字母小写,单词之间直接相连,没有其他符号。

说明:

    这里的私有方法指,仅供类内部调用的方法或者声明方法的js文件的内部调用的方法。

例子:

    正确的:_testMethod()

    错误的:_TestMethod()、test_Method()、test_method()等

1.6. 私有变量

规则:

    以“_”开头,一个或多个单词构成,第一个单词的所有字母均小写,其余每个单词的首字母大写,其余字母小写,单词之间直接相连,没有其他符号。类型缩写规则同1.3.。

说明:

    这里的私有变量指,仅供类内部使用的变量或者声明变量的js文件内部使用的变量。

例子:

    正确的:_testVar

    错误的:_TestVar、test_Var、test_var等

1.7. 方法的参数

规则:

    一个或多个单词构成,第一个单词的所有字母均小写,其余每个单词的首字母大写,其余字母小写,单词之间直接相连,没有其他符号。类型缩写规则同1.3.。

说明:

例子:

    正确的:testVar

    错误的:TestVar、test_Var、test_var等

1.8. 局部变量

    同1.7.。

1.9. 方法命名

规则:

    方法的第一个单词必须为动词,如“set”、“get”等。

    对象的方法,如果以对象本身作为宾语,则可以省略,如:

    应写为:object.getName(),而不是object.getObjectName()等。

1.10. 单词

规则:

    所有的单词必须使用英语单词,除非没有相应的英语单词,才允许使用汉语拼音或首拼。

1.11. 缩写

规则:

    全局变量、类的公用函数、公共属性、常量一律使用单词的完整形式,而不使用首拼。

    局部变量、私有变量等如需要使用缩写,首先参照如下的单词缩写表:

    完全拼写                缩写

connection              conn

    database                db

    destination             dst

    document                doc

    event                   evt

    image                   img

    initialize              init

    list                    lst

    number                  num (注意不要缩写为no)

    option                  opt

    source                  src

    table                   tbl

    此外,可以采用如下的命名规则:

    去除除首字母外的所有元音字母,取前4个英文字母,如attribute缩写为attr。

1.12. 类名和构造函数名

规则:

    类名和构造函数名应体现类的继承规则,如:

    EventHandler

    UIEventHandler

    MouseEventHandler

1.13. 其他命名规则

规则:

    获取/设置类私有属性的方法,必须以get/set开头。

布尔变量名或返回布尔变量的方法命名应使用直接的方法,并以诸如“is”、“has”、“found”、“can”开头。

    对于集合类型,必须使用复数形式作为变量名称,如lstItems等。

    表示数量的变量,结尾一律为“Count”,不要使用“Number”或者“Num”。

    简单循环变量名可使用i、j、k命名,但是如果循环变量还有一些复杂的含义,则需要使用若干单词组合成有意义的变量名。

    表示相反含义的变量名必须成对使用反义词,如:get/set、begin/end、start/stop、add/remove、insert/delete、create/destroy等。

    应避免使用表示反意的布尔变量名,如:isNotError、isNotFound等,这通常会让人的思想多转一个弯。

2. 排版

2.1. 缩进

    每层缩进一律为四个空格大小,并且必须使用“TAB”而不是空格实现缩进。

       

2.2. 括号

    使用如下的括号规则(也就是右花括号始终单独占一行):

    function someMethod() {

        statement1;

        if (condition1) {

            ...

        }

        else if (condition2) {

            ...

        }

        else {

            ...

        }

           

        while (condition3) {

       

            if (condition4) {   //if、for、while等语句,即使其内部只有一条语句,也必须用花括号括起来

                continue;

            }

           

            if (condition5) {

                break;

            }

        }

           

        do {

            ...

        } while (condition6);

           

        switch (condition 7) {

            case A:

                s1;

                ...

                break;

            case B:

                s2;

                ...

                break;

            case C:

                s3;

                ...

                break;

            default:

                ...

        }

           

        try {

            sTry;

            ...

        }

        catch (exception) {

            sCatch;

            ...

        }

        finally {

            sFinally;

            ...

        }

    } //someMethod

       

    注意上述方法中,即使if语句后只有一行语句,也需要用花括号将其括起。

   

2.3. 折行

规则:

    如果算术表达式较长的(超过100列),可以折行书写,每行开头为运算符,如:

    var someVar = expression1

                + expression2

                + expression3;

如果函数的参数列表较长的,也可折行书写,如:

    var someVar = someFunction(

                    arg1,

                    arg2,

                    arg3);

2.4. 空行

规则:

    空行每次最多保留一行。

    函数声明和函数的第一句语句间应有一个空行,如:

    function someMethod() {

        statment;

    }

    循环的进入语句和循环体的第一条语句之间应有一个空行,如:

    while (condition) {

       

        statement;

    }

    逻辑上紧密的语句应放在一起形成一个“语句块”,语句块之间用空行分隔开,如:

    statment1;

    statment2;

    statment3;

    statment4;

    statment5;

    statment6;

2.5. 空格

    用例子说明:

    a = a + 1;      //每个算符之间要留空格

    if (a == b) {   //if和之后的(间要留空格

        ...

    }

    while (condition1) {    //while和之后的(间要留空格

        ...

    }

    for (var i = 0; i < length; i++) {  //注意for语句后的空格

        ...

    }

    c = a*b + d;    //高优先级的算符两边不留空格,低优先级的算符两边留空格,使得运算优先级明确

    a = (d? b: c);      //三元算子的操作符写法

3. 注释

3.1. 注释的首要规则

       注释的首要规则是,先写注释,后写代码。

编写超过10行的代码前,必须先用块注释的方式(即/*...*/的形式),将需要完成的工作步骤描述清楚,然后,对工作步骤描述进行检查(检查内容见“JS代码审查表”),检查通过后才能够开始编写具体的JS语句。

    编写工作步骤描述时应注意重在描述做什么工作,而不是怎样做工作,即不要将工作步骤描述得过细。

    上述的代码行数计算,不包括空行、函数定义语句(即“function”语句)、仅包括单独花括号的行。

       

3.2. 注释的位置

    块注释必须位于其所描述的代码之前。行注释(即//的形式)位于代码行之右。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值