JavaScript :: Prototype

Posted on 30th April 2005 by Nio in AJAX, 程序人生

image 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,用来模拟对象的继承功能。

2 Comments »

  1. 很有意思的东东,现在有越来越多的framework来摸拟js的oo了… 这个和我以前看过的一个activewidgets的查不多,不过现在的activewidgets已经把代码都encrypt了.

    Comment by RainX — April 30, 2005 @ 6:04 pm

  2. 嗯,activewidgets 也是很不错的,其 grid 和 WebFX 的 table sort 有些相似。

    Comment by Nio — April 30, 2005 @ 8:09 pm

Leave a comment