Prototype - Prototype JavaScript 框架

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 不做任何事,也不返回任何值!