博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JavaScript 编码规范
阅读量:6799 次
发布时间:2019-06-26

本文共 1867 字,大约阅读时间需要 6 分钟。

JavaScript 编码规范

一、命名规范

1. 变量

  • 命名方法:小驼峰式命名法(由小写字母开始,后续每个单词首字母都大写)
  • 命名建议:语义化的名词
  • 特殊:

    布尔值变量建议添加符合其含义的前缀动词

    • is:是否
    • can:能不能
    • has:有没有
  • 示例:

    // 页面标题let pageTitle = "JS命名规范";// 是否显示let isShow = false;

2. 常量

  • 命名方法:全部大写,用下划线来分割单词

3. 函数

  • 命名方法:小驼峰式命名法(由小写字母开始,后续每个单词首字母都大写)
  • 命名建议:语义化,前缀为动词
  • 示例:

    // 获取列表数据function getList() {    // ...}

3. 类(构造函数)

  • 命名方法:大驼峰式命名法(由大写字母开始,后续每个单词首字母都大写)
  • 命名建议:语义化的名词

    class Login {    // ...}
  • 实例属性和方法(遵循变量和函数的命名规范)

    class Login {    // 实例属性    name = "iqeq";        // 实例方法    login = function () {        // ...    }        // 实例方法简写    reset() {        // ...    }}
  • 静态属性和方法(遵循变量和函数的命名规范)

    class Login {    // 静态属性    static description = "登陆业务逻辑";        // 静态方法    static log = function () {        // ...    }}

二、编码规则

1. 禁止在function中定义同名的变量

如果在一个函数中出现多个同名的参数,后面出现的会覆盖前面出现的参数。

错误代码示例:

function foo(a, b, a) {    console.log("value of the second a:", a);}

正确代码示例:

function foo(a, b, c) {    console.log(a, b, c);}

2. 禁止对在代码块中声明function

错误代码示例:

if (test) {    function doSomethingElse () {        // ...    }    doSomethingElse();}

正确代码示例:

function doSomethingElse () {    // ...}if (test) {    doSomethingElse();}

3. 禁止在 return throw continuebreak语句后出现不可达代码

错误代码示例:

function foo() {    return true;    console.log("done");}function bar() {    throw new Error("Oops!");    console.log("done");}while(value) {    break;    console.log("done");}throw new Error("Oops!");console.log("done");function baz() {    if (Math.random() < 0.5) {        return;    } else {        throw new Error();    }    console.log("done");}

4. 禁止对原生对象赋值

错误代码示例:

window = {};Object = null;undefined = 1;

5. 禁止重新声明变量

JavaScript中,可以对同一个变量再次声明。这会使变量实际声明和定义的位置混乱不堪。

错误代码示例:

var a = 3;var a = 10;

正确代码示例:

var a = 3;// ...a = 10;

6. 禁止声明未被使用过的变量

已声明的变量在代码里未被使用过,就像是由于不完整的重构而导致的遗漏错误。这样的变量增加了代码量,并且混淆读者。

错误代码示例:

function test(a) {    // b变量虽然声明了,但没被使用    var b = 1;        return a + 1;}

持续更新....

转载地址:http://anywl.baihongyu.com/

你可能感兴趣的文章
SilverLight1.1 之旅(二):添加事件
查看>>
【转】Javascript MD5编码
查看>>
Java:集合类的区别详解
查看>>
linux 内核库函数 【转】
查看>>
asp.net 判断是否是日期格式,判断是否是长日期格式,短日期格式,时间判断,日期判断,全部格式...
查看>>
理解 OpenStack Swift (3):监控和一些影响性能的因素 [Monitoring and Performance]
查看>>
聚会留念
查看>>
iOS:在使用Cocoapods安装shareSDK时出现的link路径错误
查看>>
Asp.net防止页面被多次提交
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(29)-T4模版
查看>>
敏捷的 "道"
查看>>
ZigBee On Windows Mobile--1.背景和结构
查看>>
这两天说到的苹果软件中毒是个什么情况?
查看>>
IOS的消息传递机制,使用NSNotificationCenter进行通信,很实用
查看>>
开始使用Emacs
查看>>
Qt Creator + MinGW 在windows 下的调试
查看>>
sql server中filegroup与partition解析
查看>>
转 Spring.NET 与 NHibernate 的整合
查看>>
TNS-01190故障的处理
查看>>
C++ Exercises(十)
查看>>