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;
}这个是什么意思if(!d) d=document;

解决方案 »

  1.   

    如果d这个参数未定义,或者为0,NaN,null等值是d=document;比如MM_findObj("tt"),这种情况d就是document;
      

  2.   


    function MM_findObj(n, d) { //v4.01
      var p,i,x;
      if(!d) d=document; //如果传入的参数d为空或为false,则d=document
      ……
      

  3.   

    如果参数中不给d的话,d就是undefined,!d就是true。
      

  4.   

    如果传入的参数,全反也就是!d满足 !d == true时就执行下面的