<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_Cat in dotNET_分类_JavaScript</title><id>http://feed.cnblogs.com/blog/u/22107/category/73547/rss</id><updated>2012-05-30T18:32:11Z</updated><generator>feed.cnblogs.com</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/category/73547.html"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/22107/category/73547/rss"/><entry><id>http://www.cnblogs.com/cathsfz/archive/2011/08/09/2131615.html</id><title type="text">「云端 JavaScript 漫游指南」</title><summary type="text">7 月 30 日在 w3ctech 的 JavaScript 活动广州场 讲了一节「云端 JavaScript 漫游指南」，实质上就是 Node.js 入门讲座。希望通过这一节讲座，让原本熟悉 JavaScript 的前端工程师尝试使用 Node.js 开发一些应用，探索 Node.js 为 Web 开发带来的可能性。这场讲座上主要使用了两个小 demo 来解释 Node.js 的一些基础概念，并且展示了如何把自己的应用部署到云端。需要使用 Node.js ，最起码你要知道 CommonJS Modules 的概念，然后你才能在一个 js 文件里面使用另一个 js 文件实现的功能。这是通过 r</summary><published>2011-08-08T16:00:00Z</published><updated>2011-08-08T16:00:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2011/08/09/2131615.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2011/08/09/2131615.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2011/07/08/2100839.html</id><title type="text">为什么 script 标签不能写成自关闭形式</title><summary type="text">今天早上在 Stack Overflow 看到了这个问题： Why don't self-closing script tags work? 。答案给出的解释是，在 XHTML 的标准里面规定非 EMPTY 标签不能使用自关闭形式。注意这里使用的是全大写的 EMPTY ，所以我不把它翻译为「空白」。那么 EMPTY 到底是什么呢？写过 DTD 的人应该知道它是个关键字，用来指明一个标签的内容必须是空白，而不能包含文本内容或子节点。看看具体的例子就很容易明白了：&lt;!ELEMENT img EMPTY&gt;&lt;!ATTLIST img %attrs; src %URI; #RE</summary><published>2011-07-08T05:50:00Z</published><updated>2011-07-08T05:50:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2011/07/08/2100839.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2011/07/08/2100839.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2011/05/29/2062382.html</id><title type="text">在 JavaScript 中监听 IME 键盘输入事件</title><summary type="text">在 JavaScript 中监听用户的键盘输入是很容易的事情，但用户一旦使用了输入法，问题就变得复杂了。输入法应当如何触发键盘事件呢？是每一下击键都触发一次事件，还是选词完毕才触发事件呢？整句输入又该如何触发事件呢？不同的操作系统和不同的浏览器对此有不同的看法。在最糟糕的情况下，用户使用输入法后浏览器就只触发一次 keydown ，之后就没有任何的键盘事件了。这对于 Suggestion 控件的实现来说是个大问题，因为 Suggestion 控件需要监听文本输入框的变化，而事件是最准确也最节省计算资源的做法，如果换成轮询的话性能就可能受到影响。 首先，要监听启用输入法后的击键事件应当使用 ke</summary><published>2011-05-29T14:26:00Z</published><updated>2011-05-29T14:26:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2011/05/29/2062382.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2011/05/29/2062382.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/12/24/1916106.html</id><title type="text">Tangram 前端库通过 Github 开源了</title><summary type="text">Tangram 是百度内部一直在开发和使用的前端库之一，功能与 jQuery 、 Prototype 等库类似，主要功能是简化 DOM 操作，并且扩展 JavaScript 语言。这部分功能准确来说属于 Tangram Core ，另外一个叫做 Tangram Component 的库提供一些类似 YUI 、 Sencha 这个级别的组件。之前 Tangram 说要开源很久了，一直卡在流程上，并且也有人觉得必须把库做得足够好了才好意思拿出来开源。我个人的看法是，跟 John Resig 的一样，前端库应该从第一天开始就开源，因为就算你不开源别人也一样能看到，所以还不如开放出来接受别人的贡献。如</summary><published>2010-12-24T08:20:00Z</published><updated>2010-12-24T08:20:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/12/24/1916106.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/12/24/1916106.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/11/23/1884740.html</id><title type="text">John Resig 见面会视频</title><summary type="text">上个星期 John Resig 来到了中国，谋智网络跟 CSDN 组织了一场 John Resig 见面会。 John Resig 在大会上介绍了 jQuery 的两个新特性（暂时还是插件）： Data Link 以及 Templates 。引入这两个插件后，前端的数据呈现及交互将变得更简单，开发数据驱动型 Web 应用的成本也会随之而降低，估计将来我们能够见到更多基于 jQuery 的数据交互型...</summary><published>2010-11-22T16:28:00Z</published><updated>2010-11-22T16:28:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/11/23/1884740.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/11/23/1884740.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/11/17/1878851.html</id><title type="text">如何让你的网站支持 IE9 Pinned Site (Part 2 - 实战)</title><summary type="text">该如何展示 IE9 Pinned Site 呢？我可以写一个新的应用，完全是为了展示 Pinned Site 的特性，但这样就像是为了实现这些特性而利用这些特性。所以我想还是升级一个现有的网站好了，这样更能说明 Pinned Site 是如何起到优化用户体验的作用的。我选择了 hack 现在的百度地图。由于 IE9 正式版还没有发布，所以我 hack 的代码暂时也不能发布到线上，只能私下玩玩。在这...</summary><published>2010-11-16T16:02:00Z</published><updated>2010-11-16T16:02:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/11/17/1878851.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/11/17/1878851.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/11/16/1878816.html</id><title type="text">如何让你的网站支持 IE9 Pinned Site (Part 1 - 理论)</title><summary type="text">Windows 7 任务栏有何不同自从 Windows 95 开始，任务栏就一直没什么变化，都是一个个长条表示正在运行的应用程序，直到 Windows 7 。 Windows 7 的任务栏发生了巨大的变化，这个变化其实就是更像 Mac OS X 的 Dock 了。无论是否在运行的应用程序，都可以在任务栏上占一个位置，并且这个位置可以固定下来，让用户可以更方便的操作这个应用程序。从此，任务栏由单向地...</summary><published>2010-11-16T11:19:00Z</published><updated>2010-11-16T11:19:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/11/16/1878816.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/11/16/1878816.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/11/07/1871250.html</id><title type="text">百度前端技术交流会视频及讲稿下载</title><summary type="text">10月份的最后一个周末，百度前端研发部尝试了第一次的对外技术交流活动，尽管只是在官方博客上做了宣传，仍然收到近 200 人的报名。考虑到场地限制，发出去了 100 个邀请，最终来参加的有 130 人。活动邀请了来自豆瓣、新浪、腾讯、百度前端研发团队的4位工程师来做演讲，内容涉及前端框架、开发流程以及团队合作方式。以下是他们演讲的视频及讲稿下载。百度前端基础平台与架构分享Youku 高清版本豆瓣前端...</summary><published>2010-11-07T12:35:00Z</published><updated>2010-11-07T12:35:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/11/07/1871250.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/11/07/1871250.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/07/15/1778026.html</id><title type="text">用 JavaScript 对 JSON 进行模式匹配 (Part 2 - 实现)</title><summary type="text">在上一篇文章里，我们完成了 Dispatcher 类的接口设计，现在我们就来考虑一下如何实现这个类。Notify &amp; Capture要实现 notify 和 capture 就太容易了，我们只需要把 capture 传入的 handler 都保存下来，然后在 notify 里面找到匹配的 handler 就可以了。var filterHandlerBundles = [];Dispatch.cap...</summary><published>2010-07-15T06:58:00Z</published><updated>2010-07-15T06:58:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/07/15/1778026.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/07/15/1778026.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/07/13/1776387.html</id><title type="text">用 JavaScript 对 JSON 进行模式匹配 (Part 1 - 设计)</title><summary type="text">在《从 if else 到 switch case 再到抽象》这篇文章里面说到，解决 if else 和 switch case 分支过多的一个方法，就是做一个专用的 dispatcher ，让它来负责进行筛选与转发。至于筛选条件的描述，模式匹配是一种很常见也很好用的方式。在 JavaScript 里面，用 JSON 来描述模式又是相当方便的事情，所以我们来做一个 JSON 模式匹配工具吧。用例设...</summary><published>2010-07-13T06:04:00Z</published><updated>2010-07-13T06:04:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/07/13/1776387.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/07/13/1776387.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/07/05/1771335.html</id><title type="text">从 if else 到 switch case 再到抽象</title><summary type="text">大家觉得在接手遗留代码时，见到什么东东是最让人感到不耐烦的？复杂无比的 UML ？我觉得不是。我的答案是，超过两个 else 的 if ，或者是超过两个 case 的 switch 。可是在代码中大量使用 if else 和 switch case 是很正常的事情吧？错！绝大多数分支超过两个的 if else 和 switch case 都不应该以硬编码（ hard-coded ）的形式出现。复杂...</summary><published>2010-07-05T06:04:00Z</published><updated>2010-07-05T06:04:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/07/05/1771335.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/07/05/1771335.html"/><content type="html"/></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2010/01/30/1660004.html</id><title type="text">能承载移动 Web 应用的唯一浏览器： Mobile Safari</title><summary type="text">最近拿 iPhone 、 Android 、 Windows Mobile 这三个平台上的内置浏览器来做了一番对比，结果是只有 iPhone 的 Mobile Safari 能够承载现代化的移动 Web 应用，其他移动浏览器的设计思路还停留在上个世纪──能看网页就行，不存在移动应用一说。我用来做对比的平台是 iPhone 2.0 、 Android 2.0 、 Window...</summary><published>2010-01-30T06:02:00Z</published><updated>2010-01-30T06:02:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2010/01/30/1660004.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2010/01/30/1660004.html"/><content type="text">最近拿 iPhone 、 Android 、 Windows Mobile 这三个平台上的内置浏览器来做了一番对比，结果是只有 iPhone 的 Mobile Safari 能够承载现代化的移动 Web 应用，其他移动浏览器的设计思路还停留在上个世纪──能看网页就行，不存在移动应用一说。我用来做对比的平台是 iPhone 2.0 、 Android 2.0 、 Window...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/11/24/1609883.html</id><title type="text">编写 iPhone Friendly 的 Web 应用程序 (Part 7 - 多点触击)</title><summary type="text">这个系列的上一篇文章差不多是两年之前的事情了，在这两年里Mobile Safari并非停滞不前，从iPhone 2.0开始Mobile Safari就加入了对多点触击的支持，现在我们就来看一下我们可以利用它来干什么。相信很多人都看过WPF为Surface设备做的一个简单demo，也就是在桌面上显示若干张照片，你可以通过单点触击拖放，也可以通过多点触击缩放和旋转。这在iPhone上能够做到，甚至在M...</summary><published>2009-11-24T14:33:00Z</published><updated>2009-11-24T14:33:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/11/24/1609883.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/11/24/1609883.html"/><content type="text">这个系列的上一篇文章差不多是两年之前的事情了，在这两年里Mobile Safari并非停滞不前，从iPhone 2.0开始Mobile Safari就加入了对多点触击的支持，现在我们就来看一下我们可以利用它来干什么。相信很多人都看过WPF为Surface设备做的一个简单demo，也就是在桌面上显示若干张照片，你可以通过单点触击拖放，也可以通过多点触击缩放和旋转。这在iPhone上能够做到，甚至在M...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/10/09/1579666.html</id><title type="text">十分钟内学会：控制浏览器是否缓存网页状态</title><summary type="text">Question在Firefox等浏览器中，如果你打开一个页面并进行若干操作，例如在文本框进行输入，甚至点击按钮进行Ajax操作更新页面局部，这些操作的结果都会被缓存下来。在你点击链接离开这个页面后，如果你通过后退按钮回到这个页面，你会发现它仍出于你离开时的状态，而非页面刚刚加载好后的初始状态。在一些情况下，这样的缓存方式是符合我们预期的；但在另外一些情况下，我们更希望页面恢复到初始状态，或者说让...</summary><published>2009-10-09T06:59:00Z</published><updated>2009-10-09T06:59:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/10/09/1579666.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/10/09/1579666.html"/><content type="text">Question在Firefox等浏览器中，如果你打开一个页面并进行若干操作，例如在文本框进行输入，甚至点击按钮进行Ajax操作更新页面局部，这些操作的结果都会被缓存下来。在你点击链接离开这个页面后，如果你通过后退按钮回到这个页面，你会发现它仍出于你离开时的状态，而非页面刚刚加载好后的初始状态。在一些情况下，这样的缓存方式是符合我们预期的；但在另外一些情况下，我们更希望页面恢复到初始状态，或者说让...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/09/17/1568549.html</id><title type="text">你的网站「被兼容」了吗？</title><summary type="text">一般情况下，我们只会讨论我们的网站如何主动兼容某某浏览器，被动地等待浏览器来兼容我们的网站是不切实际的幻想——哪个浏览器会那么伟大，原意主动为一个不兼容的网站而作出改变呢？IE8就是这样一个伟大的浏览器，Microsoft就是一家这样伟大的企业。故事是这样的，我们有一小段JavaScript依赖于userAgent属性，同样是用IE8进行浏览，在测试环境上userAgent...</summary><published>2009-09-17T07:35:00Z</published><updated>2009-09-17T07:35:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/09/17/1568549.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/09/17/1568549.html"/><content type="text">一般情况下，我们只会讨论我们的网站如何主动兼容某某浏览器，被动地等待浏览器来兼容我们的网站是不切实际的幻想——哪个浏览器会那么伟大，原意主动为一个不兼容的网站而作出改变呢？IE8就是这样一个伟大的浏览器，Microsoft就是一家这样伟大的企业。故事是这样的，我们有一小段JavaScript依赖于userAgent属性，同样是用IE8进行浏览，在测试环境上userAgent...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/08/17/1547361.html</id><title type="text">jQuery is DSL (Part 2 - jQuery)</title><summary type="text">jQuery的Internal DSL形式在上一篇文章里面，我们了解到了Internal DSL的具体形式，形如：/* Method Chaining */computer() .processor() .cores(2) .i386() .disk() .size(150) .disk() .size(75) .speed(7200) .sata() .end();然后我们在看看一段...</summary><published>2009-08-16T16:01:00Z</published><updated>2009-08-16T16:01:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/08/17/1547361.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/08/17/1547361.html"/><content type="text">jQuery的Internal DSL形式在上一篇文章里面，我们了解到了Internal DSL的具体形式，形如：/* Method Chaining */computer() .processor() .cores(2) .i386() .disk() .size(150) .disk() .size(75) .speed(7200) .sata() .end();然后我们在看看一段...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/08/10/1543266.html</id><title type="text">jQuery is DSL (Part 1 - DSL)</title><summary type="text">jQuery刚刚出来的时候，我没有太多关注它，觉得这不过是Yet Another JavaScript Library。早期的jQuery专注于DOM节点的筛选与操作，不提供众多的基础类扩展，更不提供UI组件，因此体积能够做到很小。然而，我实在看不出它和我熟悉的Prototype比有什么明显的优势——jQuery能做的各项独立的操作，Prototype都能做。后来用jQue...</summary><published>2009-08-10T15:47:00Z</published><updated>2009-08-10T15:47:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/08/10/1543266.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/08/10/1543266.html"/><content type="text">jQuery刚刚出来的时候，我没有太多关注它，觉得这不过是Yet Another JavaScript Library。早期的jQuery专注于DOM节点的筛选与操作，不提供众多的基础类扩展，更不提供UI组件，因此体积能够做到很小。然而，我实在看不出它和我熟悉的Prototype比有什么明显的优势——jQuery能做的各项独立的操作，Prototype都能做。后来用jQue...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/07/02/1515566.html</id><title type="text">让 JavaScript 轻松支持函数重载 (Part 2 - 实现)</title><summary type="text">在上一篇文章里，我们设计了一套能在JavaScript中描述函数重载的方法，这套方法依赖于一个叫做Overload的静态类，现在我们就来看看如何实现这个静态类。识别文本签名我们先来回顾一下上一篇文章中提到的Overload用例： var extend = Overload .add("*, ...", function(target) { }) .add("Boolean, *, ...", ...</summary><published>2009-07-02T07:51:00Z</published><updated>2009-07-02T07:51:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/07/02/1515566.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/07/02/1515566.html"/><content type="text">在上一篇文章里，我们设计了一套能在JavaScript中描述函数重载的方法，这套方法依赖于一个叫做Overload的静态类，现在我们就来看看如何实现这个静态类。识别文本签名我们先来回顾一下上一篇文章中提到的Overload用例： var extend = Overload .add("*, ...", function(target) { }) .add("Boolean, *, ...", ...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/07/02/1515188.html</id><title type="text">让 JavaScript 轻松支持函数重载 (Part 1 - 设计)</title><summary type="text">JavaScript支持重载吗？JavaScript支持函数重载吗？可以说不支持，也可以说支持。说不支持，是因为JavaScript不能好像其它原生支持函数重载的语言一样，直接写多个同名函数，让编译器来判断某个调用对应的是哪一个重载。说支持，是因为JavaScript函数对参数列表不作任何限制，可以在函数内部模拟对函数重载的支持。实际上，在很多著名的开源库当中，我们都可以看到函数内部模拟重载支持的...</summary><published>2009-07-02T01:18:00Z</published><updated>2009-07-02T01:18:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/07/02/1515188.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/07/02/1515188.html"/><content type="text">JavaScript支持重载吗？JavaScript支持函数重载吗？可以说不支持，也可以说支持。说不支持，是因为JavaScript不能好像其它原生支持函数重载的语言一样，直接写多个同名函数，让编译器来判断某个调用对应的是哪一个重载。说支持，是因为JavaScript函数对参数列表不作任何限制，可以在函数内部模拟对函数重载的支持。实际上，在很多著名的开源库当中，我们都可以看到函数内部模拟重载支持的...</content></entry><entry><id>http://www.cnblogs.com/cathsfz/archive/2009/07/01/1514983.html</id><title type="text">写个 JavaScript 异步调用框架 (Part 6 - 实例 &amp;amp; 模式)</title><summary type="text">我们用了5篇文章来讨论如何编写一个JavaScript异步调用框架（问题 &amp; 场景、用例设计、代码实现、链式调用、链式实现），现在是时候让我们看一下在各种常见开发情景中如何使用它了。封装Ajax设计Async.Operation的最初目的就是解决Ajax调用需要传递callback参数的问题，为此我们先把Ajax请求封装为Async.Operation。我在这里使用的是jQuery，当然无...</summary><published>2009-07-01T13:59:00Z</published><updated>2009-07-01T13:59:00Z</updated><author><name>Cat Chen</name><uri>http://www.cnblogs.com/cathsfz/</uri></author><link rel="alternate" href="http://www.cnblogs.com/cathsfz/archive/2009/07/01/1514983.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/cathsfz/archive/2009/07/01/1514983.html"/><content type="text">我们用了5篇文章来讨论如何编写一个JavaScript异步调用框架（问题 &amp; 场景、用例设计、代码实现、链式调用、链式实现），现在是时候让我们看一下在各种常见开发情景中如何使用它了。封装Ajax设计Async.Operation的最初目的就是解决Ajax调用需要传递callback参数的问题，为此我们先把Ajax请求封装为Async.Operation。我在这里使用的是jQuery，当然无...</content></entry></feed>
