前面声明了一个全局变量,后面的current是什么意思?
完整代码如下:// global variables for timeout and for current menu
var t=false,current;function SetupMenu() {
   if (!document.getElementsByTagName) return;
   items=document.getElementsByTagName("li");
   for (i=0; i<items.length; i++) {
      if (items[i].className != "menu") continue;
      //set up event handlers
      thelink=findChild(items[i],"A");
      thelink.onmouseover=ShowMenu;
      thelink.onmouseout=StartTimer;
      //is there a submenu?
      if (ul=findChild(items[i],"UL")) {
         ul.style.display="none";
         for (j=0; j<ul.childNodes.length; j++) {
            ul.childNodes[j].onmouseover=ResetTimer;
            ul.childNodes[j].onmouseout=StartTimer;
         }
      }
   } 
}// find the first child object of a particular type
function findChild(obj,tag) {
   cn = obj.childNodes;
   for (k=0; k<cn.length; k++) {
     if (cn[k].nodeName==tag) return cn[k];
   }
   return false;
}function ShowMenu(e) {
   if (!e) var e = window.event;
   // which link was the mouse over?
   thislink = (e.target) ? e.target: e.srcElement;
   ResetTimer();
   // hide the previous menu, if any
   if (current) HideMenu(current);
   // we want the LI, not the link
   thislink = thislink.parentNode;
   current=thislink;
   // find the submenu, if any
   ul = findChild(thislink,"UL");
   if (!ul) return;
   ul.style.display="block";
}function HideMenu(thelink) {
   // find the submenu, if any
   ul = findChild(thelink,"UL");
   if (!ul) return;
   ul.style.display="none";
}function ResetTimer() {
   if (t) window.clearTimeout(t);
}function StartTimer() {
   t = window.setTimeout("HideMenu(current)",200);
}// Set up the menu when the page loads
window.onload=SetupMenu;

解决方案 »

  1.   

    定义两个变量,一个是t赋值为false,一个是current没有赋值
      

  2.   

    var t=false,current;这么写相当于
    var t = false;
    var current;
      

  3.   

    声明两个变量,t赋值false,current为undefined
    var t=false,current;
    console.log(t);
    console.log(current);
      

  4.   

    结果现实:
    false
    undefined
      

  5.   


    var t = false;
    var current;
    取值的话,一个是false,一个是undefined。