- 浏览: 520450 次
- 性别:
- 来自: 北京
博客专栏
-
jQuery技术内幕
浏览量:200448
最新评论
-
青春依旧:
学习html5哪里好?当然华清远见是首选!
[原创] jQuery源码分析-01总体架构 -
追梦1819:
[size=x-small][color=red][/colo ...
[原创] jQuery源码分析-04 选择器-Sizzle-设计思路 -
niuqiang2008:
学习学习
[原创] jQuery源码分析-04 选择器-Sizzle-工作原理 -
liuweihug:
jquery 解析正则表达式及常见的Regex规则和表达式 - ...
[原创] jQuery源码分析-02正则表达式-RegExp-常用正则表达式 -
liang8768:
mark!!!
[原创] jQuery源码分析-00前言开光
文章列表
作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com
声明:本文为原创文章,如需转载,请注明来源并保留原文链接。
读读写写,不对的地方请告诉我,多多交流共同进步,本章的的PDF等本章写完了发布。
jQuery源码分析系列的目录请查看 http://nuysoft.iteye.com/blog/1177451,想系统的好好写写,目前还是从我感兴趣的部分开始,如果大家有对哪个模块感兴趣的,建议优先分析的,可以告诉我,一起学习。
3.4
其他静态工具函数
// 扩展工具函数
jQ ...
作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com
声明:本文为原创文章,如需转载,请注明来源并保留原文链接。
边读边写,不对的地方请告诉我,多多交流共同进步,PDF下载在最后
jQuery源码分析系列的目录请查看 http://nuysoft.iteye.com/blog/1177451,想系统的好好写写,目前还是从我感兴趣的部分开始,如果大家有对哪个模块感兴趣的,建议优先分析的,可以告诉我,一起学习。
15.5
AJAX中的类型转换器
前置过滤器、 请求分发器、类型转换器是读懂jQuer ...
作者:nuysoft/高云 QQ:47214707 EMail:nuysoft@gmail.com
毕竟是边读边写,不对的地方请告诉我,多多交流共同进步。本章还未写完,完了会提交PDF。
前记:
想系统的好好写写,但是会先从感兴趣的部分开始。
近期有读者把PDF传到了百度文库上,首先感谢转载和传播,但是据为已有并设置了挺高的财富值才能下载就不好了,以后我整理好了会传到文库上。请体谅一下。
3. 构造jQuery对象
3.1
源码结构
先看看总体结构,再做分解:
(function( window, undefined ) {
...
近期在ITEYE陆续写了几篇jQuery源码分析,乐在其中的同时愈发佩服jQuery的神乎其技,为我打开了一扇软件以用为本的窗户,以至于写出来Java代码也有了jQuery的味道。
jQuery的源码有些晦涩难懂,本文分享一些我看源码的方法,每一个模块我尽量按照这样的顺序去学习:
1. 读官方文档,官方有非常详细的文档说明
2. 试验官方的示例,需要的话搭建自己的服务器
3. 读源码,加注释,把自己思考的过程和结果记录下来
4. 大量阅读相关的网文和书籍,比如相同主题的分析文档,网上常问的问题等
5. 写一篇应用教程(可看的应用教程已经很多了,有时间也会写写,但不多 ...
2007.9.18 我在北京城看到
一个人
另一个人
还有很多很多人
边读边写,不正确的地方,还请各位告诉我,多多交流共同学习,PDF下载地址在最后。
17. 坐标和尺寸
Offset & Dimensions
初学者经常会迷惑于jQuery的提供的获取/设置坐标和尺寸接口的差异,不知道在什么情况下该使用什么接口,现将接口和差异整理如下:
l 坐标 Offset
接口
公式
说明
2011.8.25 不再孤单
打开窗户
打开纱窗
蚊子
蜂涌而入
我再打开
电蚊香
边读边写,不正确的地方,还请各位告诉我,多多交流共同学习。
15.4
AJAX中的前置过滤器和请求分发器
自jQuery1.5以后,AJAX模块提供了三个新的方法用于管理、扩展AJAX请求,分别是:
l 前置过滤器 jQuery. ajaxPre ...
jQuery源码分析 - 前言
jQuery凭借简洁的语法和跨平台的兼容性,极大地简化了JavaScript开发开发人员遍历HTML文档、操作DOM、处理事件、执行动画和开发Ajax的操作。其独特而又优雅的代码风格改变了JavaScript程序员的设计思路和编写程序的方式。---摘自《锋利的jQuery》
通过分析jQuery的源码,我们能(这也是本文的写作目的):
l 学习先进的设计理念
l 学习各种实现技巧
l 巩固JavaScript基础
l 无限的接近这些牛人↓↓↓(记住他们吧,记住他们改变了JavaScript)
1. 总体架构
1.1
自调用匿名函数 self-invoking anonymous
function
打开jQuery源码,首先你会看到这样的代码结构:
(function( window, undefined ) {
// jquery code
})(window);
1.
这是一个自调用匿名函数。什么东东呢?在第一个括号内,创建一个匿名函数;第二个括号,立即执行
2.
为什么要创建这样一个“自调用匿名函数”呢?
办公使用win7有一阵了,期间曾转向unbuntu,虽然开发方便,尤其KDE的桌面特效和快捷键,但是终因办公软件和Email不好用而放弃,比如OpenOffice的排版问题、Evolution与Outlook邮件格式的兼容性等问题。后来办公和家里都换了大显示器,仍然纠结于win7没有KDE好用,最近重新调整了任务栏参数,改善不少,选择打开的窗口时一目了然,先看看效果图:
设置过程:
第一步:打开任务栏属性,修改“任务栏按钮”为“当任务栏备战满时合并”,屏幕小时更合适选择“始终合并、隐藏标签”,宽屏的话“任务栏位置”可以选择左侧,但是左侧有问题是打开的窗口多了,翻页查找不方便
...
5. 异步队列 Deferred
5.1
概述
异步队列是一个链式对象,增强对回调函数的管理和调用,用于处理异步任务。
异步队列有三种状态:初始化(unresolved),成功(resolved),失败(rejected)。
执行哪些回调函数依赖于状态。
状态变为成功(resolved)或失败(rejected)后,将保持不变。
回调函数的绑定可以是同步,也可以是异步的,即可以在任何时候绑定。
(本节中的 绑定 注册 增加 具有相同的含义)
5.2
关键方法
先看看jQuery. Deferred()中的关键方法
16. 动画
16.1 源码解析
jquery1.43源码分析之动画部分 http://www.iteye.com/topic/786984
上边这篇文章分析的很透彻,由浅入深,我就不再重复了,下面附两张jQuery 1.6.1的程序执行流程图:
16.2 动画支持的属性
jQuery仅支持数值型的属性和特殊标记show/hide/toggle,非数值型的属性需要插件支持。
16.3 动画算法 jQuery.easing
jQuery自带了线性动画linear、余弦动画swing,下边是源码分析:
/**
* 如果要 ...
属性操作主要介绍prop、attr、val三个接口的实现,相对于其他的接口,这三个的源码实现复杂,更容易让人混淆,一不小心就回使用错误的接口或返回错误的值,因此重点分析。
9.1 .prop() vs .attr()
9.1.1 概述
1.6.1相对1.5.x最大的改进,莫过于对属性.attr()的重写了。在1.6.1中,将.attr()一分为二: .attr()、.prop(),这是一个令人困惑的变更,也是一个破坏性的升级,会直接影响到无数的网站和项目升级到1.6。
简单的说,.attr()是通过setAttribute、getAttribute实现,.prop ...
读书笔记-《我编程我快乐》
副标题: 程序员职业规划之道
原作名: The Passionate Programmer