jQuery.extend(object) 返回值:jQuery
概述
扩展jQuery对象本身。
用来在jQuery命名空间上增加新函数。 查看 'jQuery.fn.extend' 获取更多添加插件的信息。
参数
objectObject
用以扩展 jQuery 对象
示例
描述:
在jQuery命名空间上增加两个函数。
jQuery 代码:
jQuery.extend({
min: function(a, b) { return a < b ? a : b; },
max: function(a, b) { return a > b ? a : b; }
});
结果:
jQuery.min(2,3); // => 2
jQuery.max(4,5); // => 5
...
jQuery.fn.extend(object) 返回值:jQuery
概述
扩展 jQuery 元素集来提供新的方法(通常用来制作插件)。
查看这里Plugins/Authoring可以获取更多信息。
参数
objectObject
用来扩充 jQuery 对象。
示例
描述:
增加两个插件方法。
jQuery 代码:
jQuery.fn.extend({
check: function() {
return this.each(function() { this.checked = true; });
},
uncheck: function() {
return this.each(function() { this.checked = false; });
}
});
结果:
$("input[type=checkbox]").check();
$("input[type=radio]").uncheck();
...
values
Object.values(obj) -> Array
把 obj 当作一个 Hash,然后返回该对象所有属性的值。
注意,结果数组中元素的顺序取决于浏览器(它依赖于 for...in 循环), 因此并不能保证元素按照声明时的顺序或字典顺序排列。另外,请记住虽然属性名称是唯一的, 但属性的值并不要求遵循这种约束。
样例
Object.values()
// -> []
Object.values({ name: 'Prototype', version: 1.5 }).sort()
// -> [1.5, 'Prototype']
...
toQueryString [1.6]
toQueryString(obj) -> String
将一个对象转换为 URL 编码字符串形式。
这是一种串行化的形式,常用于提供复合的参数集,例如为 Ajax 命名空间中的那些对象提供参数(如 Ajax.Request 的 parameters 选项)。
值为 undefined 的“键/值”对串行化后只保留了键名称。值为数组的“键/值”对会将数组的每个元素串行化为一个键值对。 所有的值都会使用 JavaScript 原生的 encodeURIComponent 方法获取 URI 编码。
除数组外(数组是按照元素在数组中的顺序进行串行化的),串行化后键值对的顺序并不保证总是一致的 (并且通常情况下查询字符...
toJSON [1.5.1]
toJSON(obj) -> String
返回一个 JSON 字符串。
关于 Prototype JSON 编码器的更详细的信息,请查看我们的指南。
Example
var data = {name: 'Violet', occupation: 'character', age: 25, pets: ['frog', 'rabbit']};
Object.toJSON(data);
//-> '{"name": "Violet", "occupation": "character", "age": 25, "pets": ["frog","rabbit"]}'
...
toHTML [1.6]
toHTML(obj) -> String
如果 obj 具有 toHTML 方法,则调用 obj 的 toHTML 方法,否则将 obj 作为 String.interpret 的参数然后调用该方法。返回调用这些方法后的返回值。
样例
var Bookmark = Class.create({
initialize: function(name, url) {
this.name = name;
this.url = url;
},
toHTML: function() {
return '<a href="#{url}">#{name}</a>'.interpolate(this);
}
});
var api = new Bookmark('Prototype API', 'http://prototypejs.org/api');
Object.toHTML(api);
//-> '<a href=...
keys
Object.keys(obj) -> [String...]
把 obj 当作一个 Hash,然后返回该对象的属性名称列表。
注意,结果数组中元素的顺序取决于浏览器(它依赖于 for...in 循环), 因此并不能保证元素按照声明时的顺序或字典顺序排列。如果你希望结果元素有一个确定的顺序,请对数组进行排序。
样例
Object.keys()
// -> []
Object.keys({ name: 'Prototype', version: 1.5 }).sort()
// -> ['name', 'version']
isUndefined [1.6]
isUndefined(obj) -> Boolean
如果 obj 是一个 undefined 的类型,返回 true,否则返回 false。
样例
Object.isUndefined(); //-> true
Object.isUndefined(undefined); //-> true
Object.isUndefined(null); //-> false
Object.isUndefined(0); //-> false
Object.isUndefined(""); //-> false
...
isString [1.6]
isString(obj) -> Boolean
如果 obj 是一个 String 对象,返回 true,否则返回 false。
样例
Object.isString("foo"); //-> true
Object.isString(""); //-> true
Object.isString(123); //-> false
isNumber [1.6]
isNumber(obj) -> Boolean
如果 obj 是一个 Number 对象,返回 true,否则返回 false。
样例
Object.isNumber(0); //-> true
Object.isNumber(1.2); //-> true
Object.isNumber("foo"); //-> false
isHash [1.6]
isHash(obj) -> Boolean
如果 obj 是一个 Hash 类的实例,返回 true,否则返回 false。
样例
Object.isHash(new Hash({ })); //-> true
Object.isHash($H({ })); //-> true
Object.isHash({ }); //-> false
isFunction [1.6]
isFunction(obj) -> Boolean
如果 obj 是一个 Function 对象,返回 true,否则返回 false。
样例
Object.isFunction($); //-> true
Object.isFunction(123); //-> false
isElement [1.6]
isElement(obj) -> Boolean
如果 obj 是一个 DOM 级别 1 的节点,返回 true,否则返回 false。
样例
Object.isElement(new Element('div'));
//-> true
Object.isElement(document.createElement('div'));
//-> true
Object.isElement($('id_of_an_exiting_element'));
//-> true
Object.isElement(document.createTextNode('foo'));
//-> false
...
isArray [1.6]
isArray(obj) -> Boolean
如果 obj 是一个数组,返回 true,否则返回 false。
样例
Object.isArray([]); //-> true
Object.isArray($w()); //-> true
Object.isArray({ }); //-> false
inspect
Object.inspect(obj) -> String
返回 obj 针对调试的字符串表现形式。
undefined 和 null 被表示为代表自身的字符串。
其它的类型首先查找其是否具有 inspect 方法:如果有,则调用这个方法,否则,调用 toString 方法。
Prototype 为许多类型提供了 inspect 方法——不论是内建的类型还是库自定义的类型。例如 String、Array、Enumerable 和 Hash,这些方法试图从开发人员的角度出发, 为它们所属的类型提供更为有意义的字符串描述形式。
样例
Object.inspect()
// -> 'undefined'
Object.inspect(null)
// -> 'null'
Object.inspect(false)
// -> 'false'
Obje...
extend
Object.extend(dest, src) -> alteredDest
复制 src 所有的属性到 dest 对象中。通过复制到目标对象的原型(prototype), Prototype 可以用这个方法模拟出类的继承。
讲述 Prototype 如何实现 OOP 设计的文档不久之后就会发布,到时会更为详细的说明在 Prototype 中如何使用 Object.extend 和 Class.create(在下一版本中,有些地方可能会做相应的调整)。
不要将这个方法与具有类似名称的 Element.extend 混淆。后者实现了 Prototype 的 DOM 扩展机制(显然,这更为复杂)。
...