最近中文字幕高清中文字幕无,亚洲欧美高清一区二区三区,一本色道无码道dvd在线观看 ,一个人看的www免费高清中文字幕

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

請(qǐng)問(wèn)在JS腳本中程序的執(zhí)行順序

<!doctype?html>
<html>
<head>
<meta?charset="utf-8">
<title>無(wú)標(biāo)題文檔</title>
<script?type="text/javascript">
????
?????????window.onload?=?function(){
			?var?div=document.getElementsByTagName("div");
?????????????for(var?i=?0;i<div.length;i++){
?????????????????div[i].onclick=?function()?{????????????????????
?????????????????????document.write(i);
?????????????????}
				?alert(i);
?????????????}
?????????}
????</script>
</head>

<body>
<div>好的1</div>
<div>好的2</div>
<div>好的3</div>
<div>好的4</div>
<div>好的5</div>
</body>
</html>

在我點(diǎn)擊這幾個(gè)DIV的時(shí)候,i的值都是5,for循環(huán)是先執(zhí)行完了嗎?難道不是程序執(zhí)行到onclick這里就等著,等我點(diǎn)擊了再繼續(xù)執(zhí)行嗎?我才開(kāi)始學(xué)JS沒(méi)多久,還請(qǐng)大家指點(diǎn)一下?。?/p>

正在回答

2 回答

這個(gè)不是js執(zhí)行順序的問(wèn)題而是典型的閉包問(wèn)題。

涉及的內(nèi)容比較多,需要看的內(nèi)容比較多,一時(shí)半會(huì)兒解釋不清。主要是作用域鏈的問(wèn)題,建議你百度搜一下相關(guān)知識(shí),不然我給你講也講不明白。

我給你提供幾個(gè)解決方案吧:

//方法1
?window.onload?=?function(){
?????????????var?div=document.getElementsByTagName("div");
?????????????for(var?i=?0;i<div.length;i++){
?????????????????div[i].onclick=?function(num)?{????????????????????
????????????????????return?function(){
????????????????????????alert(num);
????????????????????}?
?????????????????}(i)
?????????????}
?????????}
//方法2
window.onload?=?function(){
?????????????var?div=document.getElementsByTagName("div");
?????????????for(var?i=?0;i<div.length;i++){
?????????????????div[i].index?=?i;
?????????????????div[i].onclick=?function()?{????????????????????
?????????????????????alert(i)
?????????????????}
?????????????}
?????????}

仔細(xì)看看,也許對(duì)你有啟發(fā)。


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

lsolal 提問(wèn)者

非常感謝!
2014-12-15 回復(fù) 有任何疑惑可以回復(fù)我~
#2

雨情霧語(yǔ)

方法2中的 alert(i)不對(duì)吧,是不是應(yīng)該是alert(this.index);
2014-12-22 回復(fù) 有任何疑惑可以回復(fù)我~

http://www.jb51.net/article/24101.htm 這篇帖子,理解一下閉包

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       469022    人
  • 解答問(wèn)題       22582    個(gè)

本課程從如何插入JS代碼開(kāi)始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界

進(jìn)入課程

請(qǐng)問(wèn)在JS腳本中程序的執(zhí)行順序

我要回答 關(guān)注問(wèn)題
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)