JavaScript模块化间的区别[commonjs,amd,cmd,umd,es6][转]

JS-模块化进程

随着js技术的不断发展,途中会遇到各种问题,比如模块化。

那什么是模块化呢,他们的目的是什么?

定义:如何把一段代码封装成一个有用的单元,以及如何注册此模块的能力、输出的值
依赖引用:如何引用其它代码单元

到目前为止,大概分为以下几个里程碑式节点。

原始的开发方式 ---> CommonJS ---> AMD ---> CMD ---> UMD ---> ES6Module

Continue reading JavaScript模块化间的区别[commonjs,amd,cmd,umd,es6][转]

[转]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 是并发模型。
Continue reading [转]Javascript 异步加载详解

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

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

说说Modernizr的几点使用方法

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