[转]Javascript 异步加载详解

本文总结一下浏览器在 javascript 的加载方式。
关键词:异步加载(async loading),延迟加载(lazy loading),延迟执行(lazy execution),async 属性, defer 属性

一、同步加载与异步加载的形式

1. 同步加载

我们平时最常使用的就是这种同步加载形式:

<script src="http://yourdomain.com/script.js"></script>

同步模式,又称阻塞模式,会阻止浏览器的后续处理,停止了后续的解析,因此停止了后续的文件加载(如图像)、渲染、代码执行。
js 之所以要同步执行,是因为 js 中可能有输出 document 内容、修改dom、重定向等行为,所以默认同步执行才是安全的。
以前的一般建议是把<script>放在页面末尾</body>之前,这样尽可能减少这种阻塞行为,而先让页面展示出来。

简单说:加载的网络 timeline 是瀑布模型,而异步加载的 timeline 是并发模型。
继续阅读[转]Javascript 异步加载详解

分享EditPlus快速格式化js/css工具

在“利用YUI Compressor压缩JS/CSS之终极秘籍”一节中,我讲解了一些关于如何通过YUI Compressor来压缩js/css;相反的情况是,如果想查看别人已压缩的js/css文件,怎么办呢?那就需要将这些压缩后的js/css/html进行格式化。
继续阅读分享EditPlus快速格式化js/css工具

说说Modernizr的几点使用方法

关于Modernizr的中文介绍已经有很多了,可以通过百度或者谷哥搜索一下。也可以去蓝色理想上看一看,这篇相对较全面:Modernizr——为HTML5和CSS3而生 ;
Modernizr除了为HTML5和CSS3提供基础环境判定、语义支持外,还有哪些用途呢?今天一起来学一学。
说说Modernizr的几点使用方法
继续阅读说说Modernizr的几点使用方法

如何在15分钟内掌握JavaScript面向对象编程[转]

导读:经常看到一些JavaScript的代码脏乱得无法理解,到处都是属性和方法,或者一个循环套着一个循环。但如果使用面向对象就能很好的理清代码,并方便理解和修改代码。如果你不希望自己的代码只有上帝理解的话,就请尽量考虑使用面向对象的模式。

译文正文:

到处都是属性、方法,代码极其难懂,天哪,我的程序员,你究竟在做什么?仔细看看这篇指南,让我们一起写出优雅的面向对象的JavaScript代码吧!

作为一个开发者,能否写出优雅的代码对于你的职业生涯至关重要。随着像Node.js这类技术的发展,你甚至可以在服务器端使用JavaScript了。同样的,你也可以使用JavaScript来控制MongoDB的持续数据存储。
继续阅读如何在15分钟内掌握JavaScript面向对象编程[转]