• JavaScript 57 JavaScript 样式指南


    JavaScript

    57 JavaScript 样式指南

    始终为所有的 JavaScript 项目使用相同的代码约定。

    57.1 JavaScript 代码约定

    代码约定(Coding conventions)指的是编程的样式指导方针。这些原则大体上包括:

    • 变量和函数的命名和声明规则
    • 使用空格、缩进和注释的规则
    • 编程习惯和准则

    代码约定确保质量

    • 改善代码可读性
    • 提升代码可维护性

    代码约定可以是团队遵守的成文规则,也可以是个人的编码习惯。

    W3School 使用的通用 JavaScript 代码约定。

    57.2 变量名

    在 W3School,对标识符名称(变量和函数)使用了驼峰式大小写

    所有名称以字母开头。

    firstName = "Bill";
    lastName = "Gates";
    
    price = 19.90;
    tax = 0.20;
    
    fullPrice = price + (price * tax);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    57.3 运算符周围的空格

    始终在运算符( = + - * / )周围以及逗号之后添加空格:

    var x = y + z;
    var values = ["Volvo", "Saab",  "Fiat"];
    
    • 1
    • 2
    57.4 代码缩进

    始终使用对代码块缩进使用 4 个空格:

    function toCelsius(fahrenheit) {
        return (5 / 9) * (fahrenheit - 32);
    }
    
    • 1
    • 2
    • 3

    不要对缩进使用制表符。不同的编辑器对 tab 的解释也不尽相同。

    57.5 语句规则

    简单语句的通用规则:【始终以分号结束单条语句】

    var values = ["Volvo", "Saab",  "Fiat"];
    
    var person = {
        firstName: "Bill",
         lastName: "Gates",
        age: 50,
        eyeColor:  "blue"
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    针对复杂语句(compound)的通用规则:

    • 请在第一行的结尾处写开括号
    • 请在开括号前使用一个空格
    • 请在新行上写闭括号,不带前导空格
    • 请不要以分号来结束复杂语句

    【函数】

    function toCelsius(fahrenheit) {
        return (5 / 9) * (fahrenheit - 32);
    }
    
    • 1
    • 2
    • 3

    【循环】

    for (i = 0; i < 5; i++) {
        x += i;
    }
    
    • 1
    • 2
    • 3

    【条件】

    if (time < 20) {
        greeting = "Good day";
    } else {
         greeting = "Good evening";
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    57.6 对象规则

    针对对象定义的通用规则:

    • 把开括号与对象名放在同一行
    • 在每个属性与其值之间使用冒号加一个空格
    • 不要在最后一个属性值对后面写逗号
    • 请在新行上写闭括号,不带前导空格
    • 请始终以分号结束对象定义
    var person = {
        firstName: "Bill",
        lastName: "Gates",
        age: 19,
        eyeColor:  "blue"
    };
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    可以对短对象在一行中进行压缩,只在属性之间使用空格,就像这样:

    var person = {firstName:"Bill", lastName:"Gates", age:50, eyeColor:"blue"};
    
    • 1
    57.7 行长度小于80

    为了提高可读性,请避免每行的长度超过 80 个字符。

    如果 JavaScript 语句超过一行的长度,换行的最佳位置是运算符或逗号之后。

    document.getElementById("demo").innerHTML =
        "Hello Kitty."; 
    
    • 1
    • 2
    57.8 命名约定

    始终对所有的代码使用相同的命名约定。例如:

    • 变量和函数名以驼峰大小写来写
    • 全局变量使用大写(我们不这样做,但是相当普遍)
    • 常量(比如 PI)使用大写
    57.8.1 HTML 和 CSS 中的连字符

    HTML5 属性能够以 data- 开头(data-quantity, data-price)。

    CSS 在 property-names 中使用连字符(font-size)。

    Hyphens 可被错误地视为减法运算符。JavaScript 命名不允许使用连字符。

    57.8.2 下划线

    许多程序员喜欢使用下划线(date_of_birth),特别是在 SQL 数据库中。

    57.8.3 帕斯卡命名法(PascalCase)

    C 语言程序员经常使用帕斯卡命名法。

    57.8.4 驼峰大小写(camelCase)

    JavaScript 本身、jQuery 以及其他 JavaScript 库使用驼峰大小写。

    JavaScript 命名请不要以 $ 符号开头。此举会引起 JavaScript 库名称冲突。

    57.9 在 HTML 中加载 JavaScript

    使用简单的语法来加载外部脚本(type 属性不是必需的):

    
    
    • 1
    57.10 访问 HTML 元素

    使用“不整洁的” HTML 样式的后果,也许是导致 JavaScript 错误。

    这两条 JavaScript 语句会产生不同的结果:

    var obj = getElementById("Demo")
    
    var obj = getElementById("demo") 
    
    • 1
    • 2
    • 3
    57.11 文件扩展名

    HTML 文件应该使用 .html 扩展名(而非 .htm)。

    CSS 文件应该使用 .css 扩展名。

    JavaScript 文件应该使用 .js 扩展名。

    57.12 使用小写文件名

    大多数 web 服务器(Apache、Unix)对文件名的大小写敏感:

    london.jpg 无法视作 London.jpg 进行访问。

    其他 web 服务器(微软的 IIS)对大小写不敏感:

    london.jpg 能够以 London.jpg 或 london.jpg 来访问。

    如果您混合使用大小写,则必须严格保持连续和一致。

    如果您将站点从大小写不敏感的服务器转移至对大小写敏感的服务器,即使这种小错误也可能破坏您的网站。

    为了避免这些问题,请始终使用小写文件名(如果可能)。

    57.13 性能

    计算机不会使用代码约定。大部分规则对程序的执行影响很小。

    缩进和额外的空格对小段脚本并不重要。

    对于开发中的脚本,应该优先考虑可读性。应该缩小更大型的生产脚本。

  • 相关阅读:
    Vmware虚拟机创建快照、克隆和备份 创建文件夹共享方法
    管理学考试题库
    RNN 浅析
    【微信小程序开发】页面导航与传参
    LeetCode 每日一题——1413. 逐步求和得到正数的最小值
    百度SEO优化技巧与布局(提升网站排名的5种有效方法)
    【c++11】cpp实现模板函数的声明与定义分离
    详解python中的序列类型概述
    《最新出炉》系列初窥篇-Python+Playwright自动化测试-18-处理鼠标拖拽-上篇
    请求转发和重定向的区别
  • 原文地址:https://blog.csdn.net/weixin_44226181/article/details/127645077