编写高性能的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();}
扫描二维码关注公众号,回复: 4675400 查看本文章

什么时候使用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,而使用服务器端的模板或者是前端的模板。

猜你喜欢

转载自www.cnblogs.com/vichin/p/10187884.html