1、文档瘦身

(1)删除注释(版权及法律声明部分应保留),运行时不需要注释。

(2)删除制表符、空格和换行符,这些只是为了便于程序的维护,但是与执行无关。

(3)替换长的变量名为短的变量名。

(4)使用 0 和 1 替代 false 和 true ,对于 x!=true ,  可以使用 !x 代替。

(5)使用 [] 代替 new Array() , 使用{} 代替 new Object()。

(6)如果一次定义多个变量,尽量在同一行内定义。

可以使用工具来进行完成,比如: Microsoft Ajax Minifier 、 Yahoo YUI Compressor。

2、控制内存

(1)释放变量的引用。

(2)释放属性的引用。

(3)释放数组对象的引用。

3、优化代码

(1)如果函数体内语句较多,应避免从一个循环中多次调用一个函数。将函数分割成较小的函数,然后在循环中包含小函数的内容,可使效果更佳。

(2)尽可能使用内建函数,内建函数一般都是经过优化的,要比用户自定义函数运行速度更快。

(3)在开始循环前将 Array.length 赋予变量,将变量作为条件使用,而不是使用 Array.length 本身。

(4)也可以使用反转循环来优化执行,这样可以节省一个变量。

(5)注重优化循环及所有重复动作。解释引擎会花费许多时间来处理循环。

(6)在局部变量够用时,不要使用类属性或者全局变量。

(7)避免在循环体内申明变量,应该在循环体外声明。

(8)使用 try...catch...finally 语句时,要在 finally 语句中释放占用的自愿,否在在 catch 到错误后占用的资源不能释放。

(9)避免使用递归调用和嵌套循环,它们会严重影响性能,在不得不用的时候才使用。

(10)继承会增加方法调用的数量,而且会使用更多的内存,包括所需全部功能的类在运行时要比从超类继承某些功能的类更加有效。因此,用户可能需要在类的扩张性和代码有效性间做出一定的设计取舍。

(11)对于不需要立即运行的脚本,可以在 script 元素里面添加 defer 属性。

(12)避免使用 with 语句。

(13)setTimeOut() 和 setInterval()函数可以使用一个函数名或一个字符串作为首个参数。如果传递一个字符串,引擎将使用函数构造器创建一个新函数。

(14)函数缓存,即将函数或方法赋给一个变量是一个非常好的编程习惯。

提高js性能的方法的更多相关文章

  1. 提高PHP性能的方法技巧

    1.用单引号代替双引号来包含字符串,这样做会更快一些.因为PHP会在双引号包围的字符串中搜寻变量,单引号则不会,注意:只有echo能这么做,它是一种可以把多个字符串当作参数的“函数”(译注:PHP手册 ...

  2. Android提高UI性能技巧

    提高UI性能的方法事实上有非常多在实际的开发中都已经用到了,在此做一下总结. 1.降低主线程的堵塞时间 若一个操作的耗时较长(超过5秒),我们应该将其放入后台线程中运行.仅仅在须要改动UI界面时通知主 ...

  3. PHP提高网站性能的一些方法

    前段时间面试问到了这个问题,回答的不是很全面,就去问了度娘,得到了一些比较全的答案,由于出处较多就没法确定原文出处了.下面是分享的答案. 一.大型网站性能提高策略: 大型网站,比如门户网站,在面对大量 ...

  4. Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net

    Atitit.提升软件Web应用程序 app性能的方法原理 h5 js java c# php python android .net 1. 提升单例有能力的1 2. 减少工作数量2 2.1. 减少距 ...

  5. 22 mysql有那些”饮鸩止渴”提高性能的方法?

    22 mysql有那些”饮鸩止渴”提高性能的方法? 正常的短连接模式是连接到数据库后,执行很少的SQL语句就断开,下次需要的时候再重新连接.如果使用的是短连接,在业务高峰期的时候,就可能出现连接数突然 ...

  6. 几种设计良好结构以提高.NET应用性能的方法

    写在前面 设计良好的系统,除了架构层面的优良设计外,剩下的大部分就在于如何设计良好的代码,.NET提供了很多的类型,这些类型非常灵活,也非常好用,比如List,Dictionary.HashSet.S ...

  7. 总结的js性能优化方面的小知识

    前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己 ...

  8. 我总结的js性能优化的小知识

    前言 一直在学习javascript,也有看过<犀利开发Jquery内核详解与实践>,对这本书的评价只有两个字犀利,可能是对javascript理解的还不够透彻异或是自己太笨,更多的是自己 ...

  9. js中apply方法的使用

    js中apply方法的使用   1.对象的继承,一般的做法是复制:Object.extend prototype.js的实现方式是: Object.extend = function(destinat ...

随机推荐

  1. esxi 主机用户功能说明

    1.  root 用户 默认情况下,每个 ESXi 主机都有一个具有管理员角色的 root 用户帐户.该 root 用户帐户可用于本地管理,并可用于将主机连接到 vCenter Server. 此公共 ...

  2. 049-PHP输出当前文件的名称

    <?php echo __FILE__; //利用常量__FILE__输出当前文件的名称 ?>

  3. java枚举类(转)

    转自: http://blog.sina.com.cn/s/blog_697b968901013ih1.html 这里主要讲解的是Java的枚举类型 什么是枚举? 以我的理解答:枚举是我们自己定义的一 ...

  4. SparkStreaming 笔记

    简介 SparkStreaming是流式处理框架,是Spark API的扩展,支持可扩展.高吞吐量.容错的准实时数据流处理. 实时数据的来源可以是:Kafka, Flume, Twitter, Zer ...

  5. MySQL5.7忘记密码解决方案

    第一种方法 首先是网上普遍见到的 关闭服务 windows下在C:\ProgramData(隐藏文件夹)\MySQL\MySQL Server 5.7\my.ini中的[mysqld]下添加skip- ...

  6. spring源码 HierarchicalBeanFactory接口

    HierarchicalBeanFactory 表示的是这些 Bean 是有继承关系的,也就是每个Bean 有可能有父 Bean. /* * Copyright 2002-2012 the origi ...

  7. 08 SSM整合案例(企业权限管理系统):11.AOP日志

    04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户和角色操作 10.权限关联 11.AOP日志 11.AOP日志 1.数据库与 ...

  8. 编程入门-Eclipse基本使用

    编程入门-Eclipse基本使用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设置Eclipse的基本参数 1>.修改Eclipse默认的文件编码为"utf- ...

  9. 2016蓝桥杯省赛C/C++A组第二题 跳蚱蜢

    题意:有9只盘子,排成1个圆圈.  其中8只盘子内装着8只蚱蜢,有一个是空盘. 我们把这些蚱蜢顺时针编号为 1~8 每只蚱蜢都可以跳到相邻的空盘中,也可以再用点力,越过一个相邻的蚱蜢跳到空盘中.  请 ...

  10. s5pc100开发板linux内核移植

    相关软件下载地址:http://pan.baidu.com/s/16yo8Y 应用于FSC100开发板 交叉编译工具:arm-cortex_a8-linux-gnueabi-gcc linux-2.6 ...