谁能帮我解释一下这个函数

yesun 2005-10-08 01:23:14
我看起来一个头两个大啊

function UR(){
var a=arguments,i,F,R=[0,"","","",""];
if(a.length==2){
if(a[1] instanceof Array){
for(i=0;i<a[1].length;i++){
F=UR(a[0],a[1][i])
if(F){
if(F[0]<100){
R[0] += F[0];
}else{
R[0] = F[0];
}
if(F[1]!==""){
R[1] = F[1];
}
if(F[2]!==""){
R[2] = F[2];
}
if(F[3]!==""){
R[3] = F[3];
}
if(F[4]!==""){
R[4] = F[4];
}
}
}
return R;
}else if(typeof(UR[a[0]])!="undefined"){
if(typeof(UR[a[0]][a[1]])!="undefined"){
return UR[a[0]][a[1]];
}else{
if(a[1]==""||a[1]=="在线管理"||a[1]=="注册用户"||a[1]=="匆匆过客"||a[1]=="绿电话"||a[1]=="黑电话"||a[1]=="无电话"){
if(a[0]==""){
return R;
}else{
return UR("",a[1]);
}
}else if(a[0]==""){
return;
}else if((typeof(UR["//"])!="undefined")&&(typeof(UR["//"][a[1]])!="undefined")&&(UR["//"][a[1]].test(a[0]))){
return UR(UR["//"][a[1]].toString(),a[1]);
}else{
return UR("",a[1]);
}
}
}else if((typeof(UR["//"])!="undefined")&&(typeof(UR["//"][a[1]])!="undefined")&&(UR["//"][a[1]].test(a[0]))){
return UR(UR["//"][a[1]].toString(),a[1]);
}else if(a[1]==""||a[1]=="在线管理"||a[1]=="注册用户"||a[1]=="匆匆过客"||a[1]=="绿电话"||a[1]=="黑电话"||a[1]=="无电话"){
if(a[0]==""){
return R;
}else{
return UR("",a[1]);
}
}else{
if(a[0]==""){
return;
}else{
return UR("",a[1]);
}
}
}else if(a.length==5){
if(a[0] instanceof Array){
for(i in a[0]){
UR(a[0][i],a[1],a[2],a[3],a[4]);
}
}else if(a[1] instanceof Array){
for(i in a[1]){
UR(a[0],a[1][i],a[2],a[3],a[4]);
}
}else{
if(a[0] instanceof RegExp){
if(typeof(UR["//"])=="undefined"){
UR["//"] = {};
}
UR["//"][a[1]]=a[0];
}
a[0] = a[0].toString();
a[2] = a[2]*100;
if(a[3] instanceof Array){
a[5] = a[3][1];
a[3] = a[3][0];
}else{
a[5] = "";
}
if(a[4] instanceof Array){
a[6] = a[4][1];
a[4] = a[4][0];
}else{
a[6] = "";
}
F = UR(a[0],a[1]);
if(F){
if(a[2]<100){
a[2] += F[0];
}
if(a[3]===""){
a[3] = F[1];
}
if(a[4]===""){
a[4] = F[2];
}
if(a[5]===""){
a[5] = F[3];
}
if(a[6]===""){
a[6] = F[4];
}
}
if(typeof(UR[a[0]])=="undefined"){
UR[a[0]] = {};
}
UR[a[0]][a[1]]=[a[2],a[3],a[4],a[5],a[6]];
}
}
}
...全文
148 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2005-10-31
  • 打赏
  • 举报
回复
这应该是个解密函数,你应该给出调用处的参数
krfstudio 2005-10-31
  • 打赏
  • 举报
回复
没有上下文,看起来比较吃力。
gngnandgngn 2005-10-31
  • 打赏
  • 举报
回复
不想看,写地很绕
yesun 2005-10-31
  • 打赏
  • 举报
回复
最后一次顶。等下就结贴
yesun 2005-10-11
  • 打赏
  • 举报
回复
UP一下~~
gu1dai 2005-10-09
  • 打赏
  • 举报
回复
这个函数是处理转入的url?
yesun 2005-10-09
  • 打赏
  • 举报
回复
能详细一点吗?
最好能尽量每行都解释一下~~
yesun 2005-10-09
  • 打赏
  • 举报
回复
真的很头大。。哪位高手愿意腾出点时间吗?
njuzgj 2005-10-09
  • 打赏
  • 举报
回复
头大
cxz7531 2005-10-08
  • 打赏
  • 举报
回复
比较难理解的是这三个:
arguments 是一个数组,表示传进来的参数。调用方式为UR(2,1,3) 则arguments[0]=2
instanceof 表示属于什么类型 a[1] instanceof Array 的含义是a[1]属于数组类型
typeof 取得参数的数据类型
八哥 2005-10-08
  • 打赏
  • 举报
回复
UP一下

87,909

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧