第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

立即調用函數中 的 I 的值是如何確定的

for(var?i?=?0;?i?<?len;?i++?){
?		//?使用立即調用的函數表達式,為了獲得不同的I值
?		(function(i){
?			console.log(i);
?			imgs[i].onmousemove?=?function(){
?				console.log(i);
?				//?先將每道門復位
?				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)中套入立即調用匿名函數(function(i))(i);

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

若我不用匿名函數立即調用直接


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

imgs[i].onmousemove = function(){

// 先將每道門復位

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';

}

}

? }

當鼠標滑動圖片 ?4個圖片就同時執(zhí)行,且獲取不到J的值,



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


?


正在回答

3 回答

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

0 回復 有任何疑惑可以回復我~
#1

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

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

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

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

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

0 回復 有任何疑惑可以回復我~

閉包的知識點還是有點復雜的,我對于匿名函數的簡單理解就是 閉包,使用完以后自動釋放 不占據大量內存空間。希望有實力的大神能詳細講解

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

立即調用函數中 的 I 的值是如何確定的

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號