如果你还不知道 SASS 和 COMPASS 是什么,可以参看 http://sass-lang.com 和 http://compass-style.org,近期可能会更新一篇介绍性的入门教程,但是本文只是安装使用教程,不包含介绍信息。
jQuery1.7 源码学习笔记 0
最近开始读jQuery源码,并打算将所思所学记录下来。阅读顺序是从易到难,先读简单的,把event和core这样的大块头留到最后。
顺带一提,源码下载地址为:https://github.com/jquery/jquery/downloads。
今天先分析最外层的闭包,最外层的闭包代码在 intro.js 和 outro.js 这两个文件内,一个头一个尾。代码如下:
(function( window, undefined ) {
//jQuery 代码....
})( window );
可以看到 window 对象被作为参数传入,这种方式可以减少解析变量 window 时查询作用域链的深度,有助于提升性能。很多 jQuery 插件也是以这种方式把 jQuery 对象传入闭包内部的。
还有一个声明后未被传值的参数 undefined。由于 undefined 被设计成一个全局变量而不是关键字,所以 undefined 是可以被赋值的,为避免使用被污染的全局变量 undefined 而导致 bug,所以在闭包作用域里产生一个名为 undefined 的未被赋值的参数(未被赋值的变量其值为 undefined 的默认值)正好不过。
下一篇内容为 data 模块。
标签:jQuery
Posted on 2011-11-30
Frully Labs 上线啦
http://labs.frully.org,我用于实验各种有趣 ideas 的小站。基本上只推荐使用最新的浏览器访问,你懂的。
Posted on 2011-05-16
优雅的 IE 条件注释新用法
<link rel="stylesheet" href="css/style.css" />
<!--[if IE]><link rel="stylesheet" href="css/ie.css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" href="css/ie6.css" /><![endif]-->以上代码大家应该都了解,对蛋疼的 IE 使用额外的样式表解决蛋疼的 IE 兼容性问题。
这种方案有2个缺点:
- 对 IE 用户会增加请求数量,影响访问速度;
- 一个元素的样式存放在几个地方,不便于维护,容易出错。
所以大型网站都不会使用这个方案,要么一个通用样式表搞定,要么注释不会产生请求的内嵌样式表。
那么还有更好的方法么? (更多…)