• 前端规范


    规范的目的
    (1).提高团队开发效率。
    (2).有利于项目的后期维护。
    (3).提高代码质量

    前端规范主要包括如下几个部分:
    (1).HTML规范。
    (2).CSS规范。
    (3).JavaScript规范

    --------通用规范-------
    文件命名规范
    文件名统一使用小写,字母、数组和下划线,避免操作系统对大写不敏感及书写错误
    使用英文字符起始
    文件的名称尽量见词达意,有多个单词组成使用减号( - )分割 例如:result-fail
    testScript.js
    testMainClass.css
    test_reg.html
    script.js

    上面的都是不推荐方式,逐个分析如下:
    (1).第一行问题在于,文件名称都中有大写字符,规范要求都是小写。
    (2).第二行的问题与第一行相同。
    (3).第三行使用下划线作为分隔符,要使用中划线分隔。
    (4).第四行使用数字作为名称的开头,规范要求始终使用英文字符作为起始。

    外部资源引入
    <script src="http://libs.baidu.com/jquery/2.0.0/jquery.js"></script>
    推荐写法
    <script src="//libs.baidu.com/jquery/2.0.0/jquery.js"></script>
    URL所指向的具体路径,不要指定协议部分(http:, https:)其他类型协议是不能够省略,比如FTP协议。

    文本缩进
    两个空格or 四个空格(统一)

    编码格式
    (1).在HTML中指定编码<meta charset="utf-8">。
    (2).无需使用@charset 指定样式表的编码,它默认为UTF-8 。
    (3).js文件同样推荐使用utf-8编码方式。




    id和class命名
    属性命名: 只能是26个英文字母、数字和连字符(-),其他字符都不要出现,包括汉字
     
    属性值大小写
    (1)、id与class属性值推荐小写形式
    (2)属性的定义,统一使用双引号

    <!-- 推荐命名方式 -->
    <div class="side"></div>
    <!-- 不推荐命名方式 -->
    <div class="Side"></div>


    连接符使用
    属性值是多个单词的合成时,推荐单词之间使用连字符。
    <!-- 推荐命名方式 -->
    <div class="side-bar"></div>
    <!-- 不推荐命名方式 -->
    <div class="side_bar"></div>
     

    -------- HTML编码规范-------
    推荐使用HTML5标准的文档类型:<!DOCTYPE html>
    标签闭合
    脚本加载方式
    引入js及 css时可省略type属性
    单双引号 ,推荐使用 ‘’
    标签属性一律使用小写
    代码注解明确
    禁止id属性重复

    --------javascript编码规范-------
    变量命名使用驼峰
    var testModules = {};
    私有属性、变量和方法已下划线 “ _ ”开头
    var _privateMethod = {};
    常量,使用全部字母大写,单词间下划线分隔的命名 “_”
    var USR_ID = {};







    True 和 False 布尔表达式
    类型检测优先使用 typeof。对象类型检测使用 instanceof。null 或 undefined 的检测使用 == null。
    下面的布尔表达式都返回 false:
    1)  null
    2)  undefined
    3)  '' 空字符串
    4)  0 数字0
    但小心下面的, 可都返回 true:
    1)  '0' 字符串0
    2)  [] 空数组
    3)  {} 空对象

    条件(三元)操作符 (?:)
    三元操作符用于替代 if 条件判断语句。

    // Not recommended
    if (val != 0) {
    return foo();
    } else {
    return bar();
    }

    // Recommended
    return val ? foo() : bar();

    性能优化
    1、  js中减少DOM操作,使用时结构合理
    2、  缓存数组长度 ; 在 for 缓存 length
    3、  异步加载不确定JS文件(第三方文件) 动态加载
    4、  减少动画使用 slideup/down()fadein/fadeout()等方法及animate()方法


  • 相关阅读:
    ARTS 计划第四周
    ARTS 计划第三周周
    计划表的科学设定
    C/C++内存分配
    ARTS 计划第二周周
    jsoncpp 和 libcurl的编译与使用 vs2010
    ARTS 计划第一周
    unix中的v节点和i节点
    百度地图demo
    带有定位当前位置的百度地图web api 前端代码
  • 原文地址:https://www.cnblogs.com/congxueda/p/10591151.html
Copyright © 2020-2023  润新知