課程
/前端開發(fā)
/HTML/CSS
/導(dǎo)航條菜單的制作
為什么不聲明This變量,而直接用this.time是不行的呢
2018-03-17
源自:導(dǎo)航條菜單的制作 5-1
正在回答
this是誰(shuí)調(diào)用就指向誰(shuí),當(dāng)i元素調(diào)用onmouseover方法,里面的匿名函數(shù)中的this是指向li這個(gè)元素的對(duì)象,而調(diào)用setInterval方法的對(duì)象實(shí)際是window對(duì)象,在setInterval里面的this其實(shí)是指向window對(duì)象,這里涉及到JavaScript對(duì)象方面的問題,可以自己找資料詳細(xì)了解
你說的是clearInterval這里吧,因?yàn)橐趕erInterval中要使用指向a[i].onmouseover的this,所以就把它定義成一個(gè)變量,這樣setInterval可以訪問外一層的變量,所以可以直接調(diào)用this了,而如果直接用this,setInterval中的this會(huì)指向自己。而clearInterval方法直接在a[i].onmouseover中調(diào)用,直接傳的this就是指向a[i].onmouseover的,不需要再把this賦值給一個(gè)變量了,當(dāng)然你也可以那樣用。
舉報(bào)
水平、垂直、圓角導(dǎo)航條菜單,讓您的技術(shù)探索之路更高效
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2018-04-03
this是誰(shuí)調(diào)用就指向誰(shuí),當(dāng)i元素調(diào)用onmouseover方法,里面的匿名函數(shù)中的this是指向li這個(gè)元素的對(duì)象,而調(diào)用setInterval方法的對(duì)象實(shí)際是window對(duì)象,在setInterval里面的this其實(shí)是指向window對(duì)象,這里涉及到JavaScript對(duì)象方面的問題,可以自己找資料詳細(xì)了解
2018-03-19
你說的是clearInterval這里吧,因?yàn)橐趕erInterval中要使用指向a[i].onmouseover的this,所以就把它定義成一個(gè)變量,這樣setInterval可以訪問外一層的變量,所以可以直接調(diào)用this了,而如果直接用this,setInterval中的this會(huì)指向自己。而clearInterval方法直接在a[i].onmouseover中調(diào)用,直接傳的this就是指向a[i].onmouseover的,不需要再把this賦值給一個(gè)變量了,當(dāng)然你也可以那樣用。