Prototype 工具函数 学习_prototype

$H就是建立Hash对象的便捷方法,关于Hash对象具体参考【Prototype 学习——Hash对象 】
$R就是简历ObjectRange对象的便捷方法,关于ObjectRange对象具体参考【Prototype 学习——ObjectRange对象 】
Try.these:
Accepts an arbitrary number of functions and returns the result of the first one that doesn't throw an error.

复制代码 代码如下:

//就是用一个循环嵌套try...catch完成这个工具函数的
var Try = {
these: function() {
var returnValue;
for (var i = 0, length = arguments.length; i < length; i++) {
var lambda = arguments[i];
try {
returnValue = lambda();
break;
} catch (e) { }
}
return returnValue;
}
};

看一个例子(不同的浏览器有不同的创建XMLHttpRequest的方法):

复制代码 代码如下:

getTransport: function() {
return Try.these(
function() { return new XMLHttpRequest() },
function() { return new ActiveXObject('Msxml2.XMLHTTP') },
function() { return new ActiveXObject('Microsoft.XMLHTTP')
} ) || false; }

document.getElementsByClassName():
根据这个方法的名字大概就能猜到这个方法的用途了。但是这个方法在1.6里面被标记成
deprecated的了。被$$和Eelement.select方法代替了,关于这两个方法,后面在讲。

时间: 2024-10-08 19:49:48

Prototype 工具函数 学习_prototype的相关文章

Prototype Object对象 学习_prototype

Object is used by Prototype as a namespace; that is, it just keeps a few new methods together, which are intended for namespaced access (i.e. starting with "Object."). 上面说的namespace个人理解就相当于C#中的静态类,提供工具函数的意思,和C#中的namespace应该不是一个概念.因为C#中的命名空间后面不会直

Prototype ObjectRange对象学习_prototype

Ranges represent an interval of values. The value type just needs to be "compatible," that is, to implement a succ method letting us step from one value to the next (its successor). Prototype provides such a method for Number and String, but you

Prototype Hash对象 学习_prototype

复制代码 代码如下: //Hash对象的工具函数 function $H(object) { return new Hash(object); }; var Hash = Class.create(Enumerable, (function() { //初始化,创建一个新的Hash对象 function initialize(object) { this._object = Object.isHash(object) ? object.toObject() : Object.clone(obje

jQuery 工具函数学习资料_jquery

URL 字符串操作 数组和对象操作 测试操作 浏览器 1:URL操作: $.param(obj) 返回 :string: 说明:将jquery对象按照name/value 或者key/value序列化为URL参数,用&连接. 示例: var obj ={name:zh,age:20}; alert(jQuery.param(obj)); //alert "name=zh&age=20";   2:字符串操作: jQuery.trim(str) 返回:string: 说明

Prototype 学习 工具函数学习($方法)_prototype

$ $$ $A $F $H $R $w Try.these document.getElementsByClassName $方法--被成为瑞士军刀(Swiss Army knife) If provided with a string, returns the element in the document with matching ID; otherwise returns the passed element. Takes in an arbitrary number of argume

Prototype 学习 工具函数学习($w,$F方法)_prototype

$w方法 Splits a string into an Array, treating all whitespace as delimiters. Equivalent to Ruby's %w{foo bar} or Perl's qw(foo bar). 复制代码 代码如下: function $w(string) { if (!Object.isString(string)) return []; string = string.strip(); return string ? stri

Prototype Class对象学习_prototype

复制代码 代码如下: /* Based on Alex Arnell's inheritance implementation. */ var Class = (function() { //临时存储parent的prototype function subclass() {}; //创建类的方法 function create() { var parent = null, properties = $A(arguments);     //检查新建一个类时,是否指定了一个父对象     //如

Prototype Function对象 学习_prototype

这个对象就是对function的一些扩充,最重要的当属bind方法,prototype的帮助文档上特意说了一句话:Prototype takes issue with only one aspect of functions: binding.其中wrap方法也很重要,在类继承机制里面就是利用wrap方法来调用父类的同名方法.argumentNames bind bindAsEventListener curry defer delay methodize wrap 复制代码 代码如下: //通

Prototype Selector对象学习_prototype

复制代码 代码如下: function $$() { return Selector.findChildElements(document, $A(arguments)); } 这个类可以分成三个部分:第一个部分就是根据不同的浏览器,判断使用什么DOM操作方法.其中操作IE就是用普通的getElementBy* 系列方法:FF是document.evaluate:Opera和Safari是selectorsAPI.第二部分是对外提供的基本函数,像findElements,match等,Eleme