网页制作代码经验总结:JS代码优化


这些是我写代码时的一些经验,总结了一下分想给大家,没啥顺序,想到就写上了

1.使用局部变量避免使用全局变量
比如


function test(){
                var s = document.getElementById('aaa');
                s.innerHTML = document.body.clientHeight;
        }
 改成


function test(){
                var d = document;
                        s = d.getElementById('aaa');
                s.innerHTML = d.body.clientHeight;
        }
局部变量的好处就是减少了作用域链的查找
我建议要是有两次的引用就用局部变量

2.避免使用with(这个估计地球人都知道)

我理解原因就是with会创建自己的作用域,这样就加长了原来的作用域链,使得在with块中执行的代码反而变慢了,在书写上好像省了代码,其实在访问上反而变长变繁琐了,性能下降了
例子
        使用with


function test(){
                        with(document.body){
                                clientHeight = '200px';
                                clientWidth = '200px'
                        }
                }

        其实都可以写成


function test(){
                        var ds = document.body;
                        ds.clientHeight = '200px';
                        ds.clientWidth = '200px'
                }

3. 遍历nodelist的方式

 一般的方式都是

var as = document.getElementsByTagName('div');
        for(var i=0,l<as.length;i<l;i++){//只计算一次长度}
        我的方式一次都不用
        for(var i=0,ci;ci=as[i++];){}当nodeList完结时就为false就结束了
        好处,没计算长度,省了在循环里赋值,代码更加少了,i++到了判断里
(注意:这个方式用在nodelist里可以,如果你用到array里,可会有问题的,数组里有个0后者null什么的就瞎了)



相关阅读:
ASP.NET中常用的用来输出JS脚本的类
一个简单的javascript菜单(4)
CSS教程:创建性感的CSS样式表
校内网css代码添加背景图片常用代码
PHP 遍历XP文件夹下所有文件
简易而又灵活的Javascript拖拽框架(一)
MySQL Event Scheduler(事件调度器)
使用普通文件创建ASM实例
ASP实例:检测整数和长整数的函数
css和Ajax制作的表格
Ubuntu Linux系统使用Vim进行Rails编码
javascript一段创建层的代码
CSS技巧教程:css书写技巧
渲染CSS选择器
快速导航

Copyright © 2016 phpStudy | 皖ICP备18014864号-4