帮我解释JavaScript中的函数MM_findObj

JavaScript013

帮我解释JavaScript中的函数MM_findObj,第1张

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.lengthi++) 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.lengthi++) 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)

这是一段javascript代码!

language的意思是使用 javascript 语言!

type 是类型

function 是一个关键字;

MM_jumpMenu是函数名称;

targ,selObj,restore 是还输的参数!