用户名:   密码:    忘记密码  注册
我推信息网 > 学习园地 > 正文

MM_findObj函数主要作用

2010年8月30日
信息简介:MM_findObj函数主要作用:取得要复制的对象,并返回 d.forms.length:所传参数d对象的窗口个数,循环判断为x赋的值不存在时!x为真

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

MM_findObj函数主要作用:取得要复制的对象,并返回
1. if(!d) d=document;:
首先MM_findObj(n, d),有两个参数,而在两处用时,一处传了两个参数MM_findObj(n,d.layers[i].document),一处传了一个参数MM_findObj(ob)所以第一个if(!d) d=document;判断是否传了第二个参数d,如果没传第二个参数d,则!d为true,为d赋值文文件对象document
2. if((p=n.indexOf("?"))>0&&parent.frames.length)
用indexOf查找函数MM_findObj(n, d)的第一个参数n中?的位置(找不到?值为-1,找到?值为相应的位置),并赋给变量p,并判断这个位置是否大于0, parent.frames.length:父框架个数是否大于0
3. if(!(x=d[n])&&d.all) x=d.all[n];
为变量x赋值d[n],如果不存在d[n]对象,且d.all存在,则为x赋值d.all[n]
4. for (i=0;!x&&i<d.forms.length;i++) x= d.forms[i][n];
d.forms.length:所传参数d对象的窗口个数,循环判断为x赋的值不存在时!x为真,且i< d.forms.length时,重新为x赋值d.forms[i][n]
5. for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
d.layers.length: 所传参数d对象的层个数,循环判断为x赋的值不存在时!x为真,且i< d.forms.length时,重新为x赋值递归调用自身函数MM_findObj的返回值
6. if(!x && document.getElementById) x= document.getElementById(n);
document.getElementById: 所传参数d对象的对象id, 判断为x赋的值不存在时!x为真且所传参数d对象存在对象,则为x赋值document.getElementById(n)

(阅览次数:6233次)【关闭
上一条: JQuery,Extjs,YUI,Prototype,Dojo 等JS框架的区别
下一条: C# 如何结束杀毒软件(360)的进程?(病毒技术)
你认为此条信息得分为:
80% 20% 0% 0% 0%
很好 一般 不行
验证字符:
网友昵称: (Ctrl+Enter)
发表评论:
以下评论只代表网友个人观点,不代表我单位观点
暂时为空!
网站首页 -  政策法规 -  联系我们 -  免责申明 -  时尚一族 -  友情链接 -  关于我们 -  设为首页 -  加入收藏
版权所有:我推信息网 关键字:我推信息网 wotui 我推荐 我推
域 名:www.wotui.net 联系QQ (08:30-22:00在线): 邮 箱:yahali@sina.com
中华人民共和国电信与信息服务业务经营许可证

 

 

 

 

公共信息安全网络监察

经营性网站备案信息

不良信息举报中心 中国文明网络传播