@ZEAL Blog·厉
WWW Zeal Blog
We stand alone,
TOGETHER.

[转]prototype 源码解读

Posted by zeal on 2006-01-11 18:13 , 22511 characters |  + 1 - 0   English
标签 ( WebDev ):  , 
Prototype is a JavaScript framework that aims to ease development of dynamic web applications. Featuring a unique, easy-to-use toolkit for class-driven development and the nicest Ajax library around, Prototype is quickly becoming the codebase of choice for Web 2.0 developers everywhere.Ruby On Rails 中文社区的醒来贴了自己对于prototype的源码解读心得,颇有借鉴意义。

以下是原贴的转载。

+++++++++++++++++++++++++++++++++++++++++++++

我喜欢Javascript,热衷于 Ajax 应用。我把自己阅读prototype源码的体会写下来,希望对大家重新认识 Javascript 有所帮助。

prototype.js 代码:

ajax.js 代码:

form.js 代码:

dom.js 代码:

其他代码:

prototype 还有两个源码文件 effects.js compat.js 就不贴出来了。两者并不常用,effects.js 看example 做花哨的效果还不错,不过代码中没有太多新鲜的东西。

需要指出的就是
compat.js 中 Funcation.prototype.apply 的实现有两个错误(应该是拼写错误), 我分别贴出来,大家比较一下就清楚了。

接下来是我模仿着编写的一个 Effect 的一个子类,用来实现闪烁的效果。

使用也很简单, 调用 new Effect.Blink(elementId) 就好了。

通过对 prototype 源码的研究,我想我对javascript又有了一点新的体会,而最大的体会就是 《Ajax : A New Approach to Web Applications》文章最后作者对设计人员的建议: to forget what we think we know about the limitations of the Web, and begin to imagine a wider, richer range of possibilities.

+++++++++++++++++++++++++++++++++++++++++++++

Last Modified on 2006-01-11 20:09
2 条评论:
- achun2006-12-10 15:55
你好,你的这个页面在firefox 2.0 下回让ff死掉呀
- zeal (link) 于 2006-12-10 16:56
我在Firefox下看了下没问题。有可能是因为这个页面涉及到的源代码内容比较多,所以js需要比较多的资源来进行代码高亮的处理以至于cpu吃的多了,使浏览器假死。
日志存档
2014年
2013年
2012年
2011年
2010年
2009年
2008年
2007年
2006年
本 Blog 原创内容
遵循以下授权:

Creative Commons
(创作共用) CC

署名-非商业性
-相同方式分享
ZEAL Blog 基于
Powered byPivot - 1.24.1: 'Arcee'
Pivot1.24.1
开发
系统部署于
Linode.com
Launched @
2005-04-27
Since 2005.04.27  梦想 就像鸡蛋 要么孵化 要么臭掉RSS Feed (Entries) | About me | Back To Home | @ZEAL | zbird.com | 沪ICP备05024379号