1. 除去JavaScript注释

除了注释,其他所有的 // or /* */ 注释都可以安全删除,因为它们对于最终使用者来说没有任何意义。

2. 除去JavaScript中的空白区域

如:x = x + 1; 可以简短得写成:x=x+1; 。

3. 进行代码优化

简单的方法如除去暗示的(implied)分号,某些情形下的变量声明或者空回车语句都可以进一步减少脚本代码。一些简略的表达方式也会产生很好的优化,例如:

x=x+1;

可以写成:

x++;

不过得小心谨慎,不然代码很容易出错。

4. 重命名用户自定义的变量和函数

为了阅读方便,我们都知道在脚本中应该使用象sumTotal这样的变量而不是s。不过,考虑到下载的速度,sumTotal这个变量就显得冗长了。这个长度对于最终使用者来说没有意义,但对浏览器下载则是个负担。这个时候s就成为较好的选择了。先写好方便阅读的代码,然后再使用一些工具来处理以供交付。这种处理方式在这里再一次展示了其价值所在。将所有的名称都重新用一个或两个字母来命名将带来显著的改善。

5. 改写内建(built-in)对象

长长用户变量名会造成JavaScript代码过长,除此之外,内建(built-in)对象(比如Window、Document、Navigator等)也是原因之一。例如:

alert(window.navigator.appName);
alert(window.navigator.appVersion);
alert(window.navigator.userAgent);

可以改写成如下简短的代码:

w=window;n=w.navigator;a=alert;
a(n.appName);
a(n.appVersion);
a(n.userAgent);

如果这几个对象使用频繁的话,这样改写带来的好处就不言而喻了。事实上这些对象也的确经常被调用。然而我要提醒的是,如果Window或 Navigator对象仅仅被使用了一次的话,这样的替换反而使代码变得更长。这个技巧带来一个对象更名后脚本执行效率的问题:除了代码长短上带来的好处,这种改写更名实际上还会稍微的提高一点脚本执行的速度,因为这些对象将会被放在所有被调用对象中比较靠前的位置。JavaScript游戏开发程序员使用这个技巧已经有多年了,下载和执行速度都会有所提高,并且对本地浏览器的内存花销也会降低,可谓一石三鸟。

6. 重构<script>和<style> 调用方式来优化请求次数

我们常常在一个HTML文件头中看到这样标记代码:

<script src="/scripts/rollovers.js"></script>
<script src="/scripts/validation.js"></script>
<script src="/scripts/tracking.js"></script>

大多数情况下,上述代码应该被简化成:

<script src="/0/g.js"></script>

其中pdfg.js包含了所有供全局使用的函数。虽然把脚本文件分成三份对于维护来说是有道理的,但对于代码的传输则没有意义。单个的脚本下载要比三个分离的请求高效的多,并且这也同时简化了markup代码的长度。

7. 合并你的javascript文件

尽可能的减少HTTP的Request请求数。

8. 将脚本放到网页底部

脚本一般是用来于用户交互的。所以如果页面还没有出来,用户连页面都不知道什么样子,那谈交互简直就是扯谈。所以,脚本和CSS正好相反,脚本应该放在页面的底部。

转载于:https://www.cnblogs.com/aspxnets/archive/2011/07/31/2122626.html

使用下面的方法有利于提高JS代码的执行效率相关推荐

  1. 浅谈代码的执行效率(2):编译器的威力

    在上一篇文章中,我主要表达了这样一个观点:影响程序效率的关键之一是算法,而算法的选择与优化,和是否多一个赋值少一个判断的关系不大.关于算法的选择,我谈到其理论上的复杂度,并不直接反映出效率.因为在实际 ...

  2. 浅谈代码的执行效率(2):编译器的威力 [摘自赵劼老师的博客]

    在上一篇文章中,我主要表达了这样一个观点:影响程序效率的关键之一是算法,而算法的选择与优化,和是否多一个赋值少一个判断的关系不大.关于算法的选择,我谈到其理论上的复杂度,并不直接反映出效率.因为在实际 ...

  3. 浅谈代码的执行效率(4):汇编优化

    终于谈到这个话题了,首先声明我不是汇编优化的高手,甚至于我知道的所有关于汇编优化的内容,仅仅来自于学校的课程.书本及当年做过的一些简单练习.换句话说,我了解的东西只能算是一些原则,甚至也有一些&quo ...

  4. 浅谈代码的执行效率(3):缓存与局部性

    在前两篇文章里,我们讨论了程序性能的两个方面,一是算法(广义的算法,即解决问题的方法),二是编译器.通过这两个方面,我想表达的意思是,一段程序的执行效率,是很难从表面现象得出结论的,至少从一些简单的层 ...

  5. 掌握这35 个小细节,助你有效提升 Java 代码的执行效率!

    点击蓝色"程序猿DD"关注我 回复"资源"获取独家整理的学习资料! 作者:萌小Q 来源:https://www.cnblogs.com/Qian123/p/60 ...

  6. 浅谈代码的执行效率(1):算法是关键

    前一段时间在博客园里看到这样一篇文章,那位兄弟谈到程序效率的关键是"简短".他说,"程序越简短,其可执行代码就越少,就越有效率",而在编写程序的时候," ...

  7. 使用JSLint提高JS代码质量

    随着富 Web 前端应用的出现,开发人员不得不重新审视并重视 JavaScript 语言的能力和使用,抛弃过去那种只靠"复制 / 粘贴"常用脚本完成简单前端任务的模式.JavaSc ...

  8. java js 执行效率_JavaScript提高加载和执行效率的方法

    前言 无论当前 JavaScript 代码是内嵌还是在外链文件中,页面的下载和渲染都必须停下来等待脚本执行完成.JavaScript 执行过程耗时越久,浏览器等待响应用户输入的时间就越长.浏览器在下载 ...

  9. 轻轻松松提高js代码质量,

    使用map遍历数组 let n = [1,2,3] n.map(function(item,index){if (index==0){console.log("数组的第一个元素是" ...

  10. python提高运行效率_提高CPU密集型任务执行效率——Python多进程介绍,内附实例代码...

    multiprocessing模块介绍 Python中多线程无法利用多核优势,如果想要充分地使用多核CPU的资源,在python中大部分情况需要使用多进程,Python提供了multiprocessi ...

最新文章

  1. 深度学习中的注意力机制(三)
  2. python 模板匹配
  3. Apache HBase快照介绍
  4. Nodejs读写文件
  5. 牛客多校9 - Groundhog Looking Dowdy(尺取)
  6. mysql 用户概念_传输概念 – db对象的用户/组/权限从mysql到postgresql
  7. 异步解耦_如何使用异步生成器解耦业务逻辑
  8. linux中配置tomcat
  9. C# 设置DateTime类型的变量值等于Null
  10. 万达9.3亿美元并购北欧最大院线 全球市场份额逼近20%
  11. NLP --- 命名体识别(NER)
  12. IBatisNet之获取和操作SQL语句
  13. 小米android手机怎么刷机,小米手机要刷机如何进入recovery模式
  14. ps快速抠头发-庞姿姿
  15. Android Floyd-Steinberg-Dithering、Stucki-dither 抖动处理
  16. kodi mysql_Kodi
  17. Laragon 在 Windows 中搭建 Laravel 开发环境
  18. java web inf_JavaWeb - 访问 WEB-INF 资源几种方式
  19. 这就是裸金属服务器?
  20. 北京哪些医院不用特意选择就可用社保卡直接就医?

热门文章

  1. Futter基础第9篇: 实现页面跳转、跳转传值(命名路由、命名路由传值)
  2. php有哪些优化技巧
  3. 关于事业发展,雷林鹏教你如何找到方向?
  4. GetModuleFileNameA函数与GetCurrentDirectoryA函数
  5. OwnCloud 搭建
  6. border-collapse
  7. 服务器保持与Mysql的连接
  8. FATAL ERROR in native method: JDWP No transports initialized, jvmtiError=AGENT_ERROR_TRANSPORT_INIT(
  9. Android反射机制实现与原理
  10. 《大道至简——软件工程实践者的思想》阅读笔记之一