Prototype - Prototype JavaScript 框架

From Xunxin Prototype API

Prototype

Prototype 命名空间包含了使用 Prototype 库应具备的基本信息,同时它也是存放默认迭代器和函数的地方。

我们说它是“命名空间”是因为 Prototype 对象不是为了实例化而创建的,也没有混入其它的对象, 它仅只是一个单纯的名称空间。

Prototype 的版本

在脚本中,可以通过 Prototype.Version 获取版本号,以检测你当前使用的 Prototype 是否是某一个特定的版本。版本号是一个字符串(例如 "1.5.0")。现实中的一个例子是著名的 script.aculo.us 库,它在载入时会自动检测,以确保它所使用的 Prototype 的版本正确无误。

浏览器特性

Prototype 还提供浏览器的一些特性信息检测,并在它的源码中广泛使用。这样做的目的在于:首先,使 Prototype 的源代码更具有可读性;其次,脚本中可能需要检测浏览器的各种特性,将它们集中起来,更易于维护。

目前唯一可用的特性检测是浏览器是否支持 DOM Level 3 XPath,可通过 Prototype.BrowserFeatures.XPath 访问,获取一个 boolean 值。

默认迭代器和函数

Prototype 对象中的很多方法都会让使用者传入一个自定义的迭代器参数(最明显的莫过于 Enumerable 模块),但这个参数很多时候是可选的,它默认是一个“恒等变换函数”(一个迭代器,简单地返回它的参数,而不做任何其它处理)。 这就是 Prototype.K 函数,你会看到它在许多地方都被引用。

很多需要在内部调用其它函数的方法,在它要调用的函数不存在时,为避免自身抛出异常,会将丢失的函数转换为一个空函数。 所谓空函数,就是一个简单的忽略它自身的所有参数,什么都不做的函数。Prototype.emptyFunction (注意,方法名的首字母小写)就是这样一个函数。

方法

K

K(argument) -> argument

K 是属于 Prototype 的一个 恒等变换函数,即它返回自身的参数,而不做任何其它处理。

emptyFunction

emptyFunction([argument...])

emptyFunction 不做任何事,也不返回任何值!