随着web应用的复杂度日渐提高,JavaScript代码量也变得越来越多,所以JavaScript在浏览器中性能应得到更多的关注。这事又因为JavaScript的阻塞特性而变得复杂。要提高JavaScript的性能一方面需要浏览器方面提升优化自身的JS引擎,另一方面作为JS程序开发员应该编写高效的JS代码来提高web程序的性能。本文立足于后一种情况。这将是一系列的文章,有关优化你JS代码的一些建议,本系列文章的观点大都提取自《高性能JavaScript》一书。首先从JS代码的加载和执行开始
- 脚本加载和执行会阻塞其它资源的下载,应该尽量将<script>标签放到<body>标签底部。确保在脚步执行前页面已经完成渲染。
- 合并脚本,减少<script>标签的数量,以减少http请求的次数。
- 无阻塞的下载脚本(页面加载完成之后才去加载执行JS代码):
方法: 1.为<script>标签添加defer属性,表明不涉及修改dom操作,可以延时载。
如:<script type=”text/javascript” src=”file.js” defer></script>
2.动态脚步元素。利用DOM动态创建script标签,到指定位置。
3.XMLHttpRequest脚本注入。利用ajax下载JavaScript代码并注入到页面中。
分享到:
相关推荐
近在学习《高性能网站建设指南》这本书,本文算是一个学习笔记,将学到的东西进行整理一下,方便后面查看。 性能黄金法则(Performance Golden Rule)解释了只有10%~20%的最终用户响应时间花在接受所请求的用户HTML...
在javascript关于提高网站性能的几点建议(一)中,从HTTP请求到页面渲染几个方面对提高网站性能提出了几点建议,本文是学习Steve Sounders的另外一本书《高性能网站建设进阶指南》之后,从JavaScript性能的角度进行...
前段时间花时间看了大半的《High Performance JavaScript》这本书啊,然后就开始忙项目了,庆幸最忙的一周已经熬过去了。由于空不出时间,这个月写的学习笔记也不多,忙完最苦X的一周,这两天晚上也算是挑灯夜读了…...
FlexBuzz FlexBuzz 是 FizzBuzz 算法的高性能纯 Javascript 实现,应该考虑替代 fizzbuzz 包。 FlexBuzz 的最初开发是由赞助的。 非常感谢他们!用法使用运行 flexbuzz.js: $ node flexbuzz.js [limit]其中可选...
包括165个javaEE学习的Word文件 jstl标准函数 mysql命令详解 javascript 常用JavaScript代码 java位运算大全 java struts2 0经典知识点 ORACLE 经验 Oracle内置SQL函数 分类整理大全 高性能高并发服务器架构 数据库...
1个目标文件,JNDI的使用例子,有源代码,可以下载参考,JNDI的使用,初始化Context,它是连接JNDI树的起始点,查找你要的对象,打印找到的对象,关闭Context…… ftp文件传输 2个目标文件,FTP的目标是:(1)提高...
下面说下网站防注入的几点要素。 一:丢弃SQL语句直接拼接,虽然这个写起来很快很方便。 二:如果用SQL语句,那就使用参数化,添加Param 三:尽可能的使用存储过程,安全性能高而且处理速度也快 四:屏蔽...
5.高性能的css动画 详情 JavaScript基础 变量和类型 1.JavaScript规定了几种语言类型 详情 2.JavaScript对象的底层数据结构是什么 3.Symbol类型在实际开发中的应用、可手动实现一个简单的Symbol 详情 4.JavaScript中...
创建该应用程序是为了寻找最快,最简洁JavaScript模板功能,重点是在V8和nodejs下的性能。 它对nodejs和浏览器均显示出出色的性能。 doT.js快速,小巧且没有依赖关系。 v2 !!! 已发布-建议切换! 请参阅。 ...
Hprose (High Performance Remote Object Service Engine)是一款高性能跨语言跨平台的远程对象服务引擎,它支持众多语言和平台,包括主流的.NET、Java、PHP、Python、Ruby、JavaScript、ActionScript、Delphi、...
jQuery UI,主要由功能丰富、高性能的 UI 控件/小部件组成,例如各种图表、数据可视化地图、(分层的、可编辑的)数据网格、透视网格、增强的编辑器(组合框、屏蔽编辑器、HTML 编辑器、日期选择器,仅举几例)、...
性能 - 批处理执行统计信息和性能相关的几个报表服务: 性能 - 对象执行统计信息 性能 - 按平均CPU时间排在前面的查询 性能 - 按平均IO次数排在前面的查询 性能 - 按总CPU时间排在前面的查询 性能 - 按IO总...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...
nfs-rpc是一个集成了各种知名通信框架的高性能RPC框架,目前其最好的性能为在采用grizzly作为通信框架,采用pb作为序列化/反序列化时,tps为168k次/秒。 其支持的功能主要为: 1、透明的调用远端服务器提供的功能...