JavaScript :: Prototype
Prototype 是一个面相对象的 JavaScript 库,目标是轻松实现动态 WEB 开发。其使用 JavaScript 模拟了 OO 的抽象、继承等特性,还提供了对表单、效果、Ajax 等的 OO 操作方式,使用起来很自然、方便。最初 Prototype 的开发是为了 Ruby on Rails 框架,但对于 JavaScript 库而言,其可适用于各种环境中。
我比较关心的是其源码中的 effect.js 和 ajax.js,对于动态效果而言,Effect 确实可以免去很多重复劳动 :) 。另外,prototype.js 中的代码也很有趣,应该说是作者的想法很奇妙,以下是片段:
var Class = { create: function() { return function() { this.initialize.apply(this, arguments); } } } var Abstract = new Object(); Object.prototype.extend = function(object) { for (property in object) { this[property] = object[property]; } return this; }发现这个代码在干嘛了吗?嘻嘻,很有意思,特别是 Object.prototype.extend,用来模拟对象的继承功能。