zoukankan      html  css  js  c++  java
  • 编写可维护的JavaScript代码(部分)

    平时使用的时VS来进行代码的书写,VS会自动的将代码格式化,所有写了这么久的JS代码,也没有注意到这些点。看了《编写可维护的javascript代码》之后,做了些笔记。

            var result = parameter1 + parameter2 + parameter3 + parameter4 + parameter5
                        parameter6 + parameter7;
    当代码超过一行的时候应该给代码换行。换行的时候,第二行的代码应该增加两个缩进
            if (isTrue && isFalse
                    && isTrueOrFalse) {
                DoSth();
            }
    运算符之间应该有一个空格的间距
            为代码段落添加空行。
            1、在方法之间。
            2、在方法中的局部变量和第一条语句之间。
            3、在多行或单行注释之前。
                4、在方法内的逻辑片段之间插入空行。提高可读性。
    
            if (result.length > 0) {
                var data = eval(result);
                
                for (var i = 0; i <= data.length; i++) {
                    var name = data[i].name;
                    var age = data[i].age;
                    
                    if (name === 'vichin') {
                        DoSth();
                    }
                }
            }    
                错误的写法:
                var nums = new Array(1,2,3,4);
                正确的写法:
                var nums = [1,2,3,4];
    使用数组直接量
            function DoSth() {
                 var value = 10,
                     result = value,
                     name = "",
                      sex;
            }//合并var语句
    
            var flag = (i < count);//使用小括号来包裹后面的比较语句
    声明变量
            //推荐写法
            var value = condition ? value1 : value2;
            //不推荐的写法:
            condition ? doSth() : doSth1();  //这里没有赋值,推荐使用if else
    三目运算符的使用
            错误的写法:
                var book = new Object();
                book.title = "JS";
                book.page = 256;
            正确的写法:
                var book = {
                    title:"JS",
                    page:256
                };
    使用对象直接量

    什么时候不使用null?

            //不要使用null来检查是否传入了某个参数。
            function DoSth(arg1,arg2,arg3) {
                 if (arg3 != null) {
                     DoSth1();
                 }
            }
            //不要使用null来检测一个未初始化的变量。
            var person;
            if (person != null) {doSth();}

    什么时候使用null?
    1、用来初始化一个变量,这个变量可能赋值为一个对象的时候。
    2、用来和一个已经初始化的变量比较,这个变量可以是也可以不是一个对象。
    3、当函数的参数期望是对象的时候,用作参数传入。
    4、当函数的返回值期望是对象的时候,用作返回值传出。

    不要在html页面中为元素绑定事件
    <a href="" onclick="doSth()" id="btn" value="按钮"/>

    当要为页面元素添加样式的时候,尽量事先将样式写在css文件中,并使用

    element.className += "className";//原生的写法
    element.classList.add("className");//H5写法
    $(element).addClass("className");
    如果是要移动元素的位置,那么就只能在JS中修改!

    在比较变量时,使用===而不是使用==,===操作,不涉及到强制类型转换。

    对于eval函数,只允许在AJAX的回调函数中使用eval函数,其他地方不允许使用eval函数,除非是实在没有办法的情况下。

    尽量在变量名中体现出变量的数值类型,而不是使用匈牙利命名法(strName,iAge现已过时)。

    如果你是java或者是C#程序员,推荐在声明字符串的时候,使用双引号而非单引号。

    尽量不要操作dom,而使用服务器端的模板或者是前端的模板。

  • 相关阅读:
    python版的99乘法表
    如何给python中设定常量
    如何使用LR录制移动端脚本 1
    radis、MySQL
    linux top
    vim 重新编译,支持lua (compile vim with lua)
    vim neocomplete 安装
    ubuntu server 14.04 无线网卡配置
    Knockoutjs官网翻译系列(四) computed中依赖追踪是如何工作的
    Knockoutjs官网翻译系列(三) 使用Computed Observables
  • 原文地址:https://www.cnblogs.com/vichin/p/10187884.html
Copyright © 2011-2022 走看看