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

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

立即調(diào)用函數(shù)中 的 I 的值是如何確定的

for(var?i?=?0;?i?<?len;?i++?){
?		//?使用立即調(diào)用的函數(shù)表達(dá)式,為了獲得不同的I值
?		(function(i){
?			console.log(i);
?			imgs[i].onmousemove?=?function(){
?				console.log(i);
?				//?先將每道門復(fù)位
?				setImgsPos();
?				//?打開門
?				for(var?j?=?1;?j?<=?i;?j++){
?					//imgs[j].style.left?=?parseInt(imgs[j].style.left,10)?-?translate?+?'px';
?					imgs[j].style.left?=?imgs[j].offsetLeft?-?translate?+?'px';
?				}
?			}
?		})(i);
?	}

在這一章中最后一段執(zhí)行代碼, for循環(huán)中套入立即調(diào)用匿名函數(shù)(function(i))(i);

這里的for循環(huán) 是只循環(huán)了一遍就獲取到了I的不同的值嗎?

若我不用匿名函數(shù)立即調(diào)用直接


for(var i = 0; i < len; i++ ){

imgs[i].onmousemove = function(){

// 先將每道門復(fù)位

setImgsPos();

// 打開門

for(var j = 1; j <= i; j++){

//imgs[j].style.left = parseInt(imgs[j].style.left,10) - translate + 'px';

imgs[j].style.left = imgs[j].offsetLeft - translate + 'px';

}

}

? }

當(dāng)鼠標(biāo)滑動(dòng)圖片 ?4個(gè)圖片就同時(shí)執(zhí)行,且獲取不到J的值,



我想咨詢下 匿名函數(shù)立即調(diào)用 (function(i))(i); ?的原理


?


正在回答

3 回答

代碼執(zhí)行一次就立即調(diào)用,來取得不同的i值,避免for循環(huán)將所有索引值一次運(yùn)行完.你可以百度查一下閉包。閉包,閉包

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

qq_沒有名稱的昵稱_0 提問者

原來如此,閉包還沒學(xué),懵懵懂懂的,謝了
2017-10-31 回復(fù) 有任何疑惑可以回復(fù)我~
#2

兼容并包 回復(fù) qq_沒有名稱的昵稱_0 提問者

學(xué)js必知閉包,原型,原型鏈,js運(yùn)行環(huán)境,...很多,要是不知道這些等于半殘。閉包推薦看阮一峰老師說的。簡單好懂。
2017-10-31 回復(fù) 有任何疑惑可以回復(fù)我~

在自執(zhí)行函數(shù)內(nèi)部鎖住當(dāng)前的i值,防止它被賦值為最終循環(huán)完的i值

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

閉包的知識(shí)點(diǎn)還是有點(diǎn)復(fù)雜的,我對(duì)于匿名函數(shù)的簡單理解就是 閉包,使用完以后自動(dòng)釋放 不占據(jù)大量內(nèi)存空間。希望有實(shí)力的大神能詳細(xì)講解

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

舉報(bào)

0/150
提交
取消

立即調(diào)用函數(shù)中 的 I 的值是如何確定的

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

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

幫助反饋 APP下載

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

公眾號(hào)

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