`

(转)高性能JavaScript的几点

 
阅读更多

 

     随着web应用的复杂度日渐提高,JavaScript代码量也变得越来越多,所以JavaScript在浏览器中性能应得到更多的关注。这事又因为JavaScript的阻塞特性而变得复杂。要提高JavaScript的性能一方面需要浏览器方面提升优化自身的JS引擎,另一方面作为JS程序开发员应该编写高效的JS代码来提高web程序的性能。本文立足于后一种情况。这将是一系列的文章,有关优化你JS代码的一些建议,本系列文章的观点大都提取自《高性能JavaScript》一书。首先从JS代码的加载和执行开始

 

  1.  脚本加载和执行会阻塞其它资源的下载,应该尽量将<script>标签放到<body>标签底部。确保在脚步执行前页面已经完成渲染。
  2. 合并脚本,减少<script>标签的数量,以减少http请求的次数。
  3. 无阻塞的下载脚本(页面加载完成之后才去加载执行JS代码):
              方法: 1.为<script>标签添加defer属性,表明不涉及修改dom操作,可以延时载。
                              如:<script type=”text/javascript” src=”file.js” defer></script>
                         2.动态脚步元素。利用DOM动态创建script标签,到指定位置。
                         3.XMLHttpRequest脚本注入。利用ajax下载JavaScript代码并注入到页面中。

 

分享到:
评论

相关推荐

    JavaScript关于提高网站性能的几点建议(一)

    近在学习《高性能网站建设指南》这本书,本文算是一个学习笔记,将学到的东西进行整理一下,方便后面查看。 性能黄金法则(Performance Golden Rule)解释了只有10%~20%的最终用户响应时间花在接受所请求的用户HTML...

    JavaScript提高网站性能优化的建议(二)

    在javascript关于提高网站性能的几点建议(一)中,从HTTP请求到页面渲染几个方面对提高网站性能提出了几点建议,本文是学习Steve Sounders的另外一本书《高性能网站建设进阶指南》之后,从JavaScript性能的角度进行...

    JavaScript 总结几个提高性能知识点(推荐)

    前段时间花时间看了大半的《High Performance JavaScript》这本书啊,然后就开始忙项目了,庆幸最忙的一周已经熬过去了。由于空不出时间,这个月写的学习笔记也不多,忙完最苦X的一周,这两天晚上也算是挑灯夜读了…...

    flexbuzz:Javascript FizzBu​​zz 算法的高性能实现

    FlexBuzz FlexBuzz 是 FizzBu​​zz 算法的高性能纯 Javascript 实现,应该考虑替代 fizzbuzz 包。 FlexBuzz 的最初开发是由赞助的。 非常感谢他们!用法使用运行 flexbuzz.js: $ node flexbuzz.js [limit]其中可选...

    6年javaEE开发的Word资料合集

    包括165个javaEE学习的Word文件 jstl标准函数 mysql命令详解 javascript 常用JavaScript代码 java位运算大全 java struts2 0经典知识点 ORACLE 经验 Oracle内置SQL函数 分类整理大全 高性能高并发服务器架构 数据库...

    JAVA上百实例源码以及开源项目源代码

    1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...

    C#防SQL注入代码的三种方法

     下面说下网站防注入的几点要素。  一:丢弃SQL语句直接拼接,虽然这个写起来很快很方便。  二:如果用SQL语句,那就使用参数化,添加Param  三:尽可能的使用存储过程,安全性能高而且处理速度也快  四:屏蔽...

    Interview:记录前端面试知识点:memo:

    5.高性能的css动画 详情 JavaScript基础 变量和类型 1.JavaScript规定了几种语言类型 详情 2.JavaScript对象的底层数据结构是什么 3.Symbol类型在实际开发中的应用、可手动实现一个简单的Symbol 详情 4.JavaScript中...

    doT:适用于nodejs和浏览器的最快+简洁的javascript模板引擎。 局部,自定义分隔符等

    创建该应用程序是为了寻找最快,最简洁JavaScript模板功能,重点是在V8和nodejs下的性能。 它对nodejs和浏览器均显示出出色的性能。 doT.js快速,小巧且没有依赖关系。 v2 !!! 已发布-建议切换! 请参阅。 ...

    Hprose与.NET中各种序列化方式的对比

    Hprose (High Performance Remote Object Service Engine)是一款高性能跨语言跨平台的远程对象服务引擎,它支持众多语言和平台,包括主流的.NET、Java、PHP、Python、Ruby、JavaScript、ActionScript、Delphi、...

    marketing-dashboard-sample:Marketing Dashboard 示例使用 Ignite UI 日期选择器、数据图表、地图、圆环图和子弹图控件来解决特定的分析挑战。 仪表板视图汇集了营销专家想要跟踪的不同数据点,例如会话、转换和转换成本

    jQuery UI,主要由功能丰富、高性能的 UI 控件/小部件组成,例如各种图表、数据可视化地图、(分层的、可编辑的)数据网格、透视网格、增强的编辑器(组合框、屏蔽编辑器、HTML 编辑器、日期选择器,仅举几例)、...

    SQL查询安全性及性能优化

    性能 - 批处理执行统计信息和性能相关的几个报表服务: 性能 - 对象执行统计信息 性能 - 按平均CPU时间排在前面的查询 性能 - 按平均IO次数排在前面的查询 性能 - 按总CPU时间排在前面的查询 性能 - 按IO总...

    java开源包1

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包11

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包2

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包3

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包6

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包5

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

    java开源包10

    nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...

Global site tag (gtag.js) - Google Analytics