初学javascript,请各位高手帮我解答下这段代码的含义:

for(vari=0,len=oLis.length;i<len;i++){oLis[i].index=i;//位置1alert(oLis[i].index);oLis[... for(var i=0,len=oLis.length;i<len;i++){
oLis[i].index = i;
//位置1 alert(oLis[i].index);
oLis[i].onmouseover = function(){
for(var n=0;n<len;n++){
oLis[n].className = "";
oDivs[n].className = "hide";
}
//位置2 alert(oLis[i].index);
this.className = "on";
oDivs[this.index].className = "";
}
}
问题如下:
1.for循环当中,当没有鼠标事件触发时,程序是否阻塞在function函数之前?
2.在位置1处调用alert函数可以执行,但是为什么连续输出3次?而位置2一次都不输出?
3.index指的是什么?
4.如果愿意的话,能不能把这段代码的执行过程叙述一下,不甚感激!!!
展开
 我来答
创作者DKEIFHCB14128
2014-09-04 · TA获得超过211个赞
知道答主
回答量:38
采纳率:0%
帮助的人:61.2万
展开全部
  1. 没看懂

  2. len为3位置1肯定连续执行三次,而位置2在onmouseover里,你鼠标不over自然不会触发。

  3. 因为for循环里有个mouseover事件,你在里面输出alert(i)会发现输出的值都是一样的,但是我们并不想要这种结果,所以在外面给oLis里的成员里都加上一个index属性表示它在数组里的位置。index你可以换成任何一个字母,不一定就非得是index。

  4. for(var i=0,len=oLis.length;i<len;i++){  //遍历出oLis
            oLis[i].index = i;    //给oLis里面的每一个成员加一个属性
               //位置1 alert(oLis[i].index);  //输出结果 0 1 2
            oLis[i].onmouseover = function(){    //当鼠标滑过时
                for(var n=0;n<len;n++){  //再遍历下,目的是为了初始化
                oLis[n].className = "";  //清除oLis的所有的的classname
                oDivs[n].className = "hide";  //设置所有的滑动门的内容的classname=hide,应该是隐藏所有的内容
                }
             //位置2 alert(oLis[i].index); //你鼠标不over自然不显示
            this.className = "on"; //设置当前鼠标滑过的classname=“on”
            oDivs[this.index].className = ""; //注意这个this.index,如果写成i的话是不对的,你可以自己试一下,意思是相对应鼠标滑过的导航的内容清除calss设置为显示
            }
        }
wuxd7
2014-09-04 · TA获得超过323个赞
知道小有建树答主
回答量:452
采纳率:100%
帮助的人:286万
展开全部
位置1是循环外的alert
位置2是mouseover 触发后才会执行的。
所以执行顺序是这样的:
alert,绑定一个鼠标事件(几乎不耗时间),
alert,绑定一个鼠标事件(几乎不耗时间),
alert,绑定一个鼠标事件(几乎不耗时间),
在鼠标over的时候回去执行响应的事件处理函数
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
getonmen
2014-09-04 · 超过58用户采纳过TA的回答
知道小有建树答主
回答量:140
采纳率:0%
帮助的人:75.9万
展开全部
是的 js当运行的时候到了一步无法通过的话 下面的就不执行了 至于为什么1输出3次 2不输出 是英文 你3次都错在里面for循环所以下面运行不了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式