Prototype 工具函数 学习_prototype
程序员文章站
2022-03-29 21:50:23
...
$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 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方法代替了,关于这两个方法,后面在讲。
$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 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方法代替了,关于这两个方法,后面在讲。
上一篇: html写法对gzip压缩率的影响