<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type=text/javascript charset=utf-8 src=../commons/CommonUtil.js ></script>
<script type=text/javascript charset=utf-8>
//适配器:
function $(){
var elements = [] ;
for(var i = 0 ; i < arguments.length; i++){
var element = arguments[i];
if(typeof element == 'string')
element = document.getElementById(element);
if(arguments.length ==1)
return element ;
elements.push(element);
}
return elements;
}
// YUI get function (传递了一个参数 :类型不是字符串 就是数组)
var YAHOO = {};
YAHOO.get = function(el){//形参实参个数可以不一样,接收还是按照一个一个匹配,
if(typeof el == 'string'){
return document.getElementById(el);
}
if(el instanceof Array){
var elements = [] ;
for(var i = 0 ; i < el.length ; i++){
elements[elements.length] = YAHOO.get(el[i]);
}
return elements;
}
if(el){
return el ;
}
return null;
};
function YUIToPrototypeAdapter(){
//对于YUI开发人员来说 永远传递一个参数
if(arguments.length == 1){
var e = arguments[0];
return $.apply(window,e instanceof Array?e:[e]);
} else {
return $.apply(window ,arguments);
}
}
window.onload = function(){
// prototype开发人员习惯的写法
var domarr = $('inp1','inp2'); //可以传多个参数
alert(domarr);
// YUI开发人员习惯的写法
var domarr = YAHOO.get(['inp1','inp2']); //只能创一个参数
alert(domarr);
//可以传一个或多个参数
var domarr = YAHOO.YUIToPrototypeAdapter(['inp1']);
alert(domarr);
};
</script>
</head>
<body>
<input id="inp1" />
<input id="inp2" />
</body>
</html>