亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 回調(diào)函數(shù)如何訪問當前函數(shù)作用下的值

瀏覽:85日期:2023-09-19 09:39:21

問題描述

我在函數(shù)中定義了一個數(shù)組變量,里面存有6個元素,然后在該函數(shù)中調(diào)用回調(diào)函數(shù),在回調(diào)函數(shù)中無法訪問數(shù)組變量的值,但是可以訪問length屬性。感覺很迷惑,不知道該怎么解決。

for(var i=0;i<bookARR.length;i++){//在該書中寫入 有借圖書館id//因為圖書館表需要所有書籍的_id,所以檢測有時,記錄idconsole.log('在外面'+bookARR[i]);//9787539989891 9787533946777 9787569914078 9787513316286 9787218113180 9787535491978 Book.getBookByISBN(bookARR[i],function(err,book){ if(!book||err){console.log('huidiao'+bookARR.length);//6console.log('在里面'+bookARR[i]);//undefined undefined undefined undefined undefined undefinednewBook.push(bookARR[i]); }else{newBook_id.push(book._id); } ep.emit(’examine’);}) }

Book.getBookByISBN()是我在其他模塊定義的函數(shù)

問題解答

回答1:因為

for (var i = 0; i<10; i++) { setTimeout(function(){console.log(i)});}for (var i = 0; i<10; i++) { (function(i){ setTimeout(function(){console.log(i)}); })(i)}所以

for(var i=0;i<bookARR.length;i++){ (function(i) {Book.getBookByISBN(bookARR[i],function(err,book){ if(!book||err){console.log('huidiao'+bookARR.length)console.log('在里面'+bookARR[i]);newBook.push(bookARR[i]); }else{newBook_id.push(book._id); } ep.emit(’examine’);}) })(i);}回答2:

在callback 中帶上 bookARR[i]

回答3:

前面已經(jīng)說了原因了,其實就是在你定義Book.getBookByISBN()這個函數(shù)里面的回調(diào)調(diào)用的地方傳入bookArr[i]就好了,理解一下形參和實參

回答4:

這是個典型的異步問題,i的作用域還在其中。因為異步等你 getBookByISBN 方法調(diào)用callback的時候 i=bookARR.length。這已經(jīng)越界了,所以是undefined.

解決方:1.閉包2.let

標簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 色播在线永久免费视频网站 | 伊人狠狠丁香婷婷综合色 | 综合亚洲欧美日韩一区二区 | 婷婷丁香久久 | 成人毛片100部免费看 | 国产精品视屏 | 亚洲综合黄色 | 日韩欧美国产高清在线观看 | 国产精选自拍 | 伊人久久丁香色婷婷啪啪 | 亚洲国产成人精品激情 | 精品国产自在久久 | 那里有毛片看 | 中文字幕不卡一区 二区三区 | 成人免费视频77777 | 一级毛片不收费 | 亚洲a在线观看 | 无遮挡男女啪啪成人免费 | 免费看人做人爱视频拍拍拍 | 亚洲欧美日韩国产精品第不页 | 久久国产亚洲欧美日韩精品 | 久99视频 | 久久一本一区二区三区 | xxxxx性视频免费播放 | 中文字幕永久在线观看 | 成年男女男精品免费视频网站 | 日本免费大片免费视频 | 欧美毛片免费 | 国产美女精品视频 | 精品国产亚洲一区二区三区 | 护士xxxx做爰 | 欧美日韩性生活视频 | 九一国产精品视频 | 色图综合网 | 在线观看三级视频 | 国产精品青草久久久久福利99 | 成人国产第一区在线观看 | 免费观看成人碰视频公开 | 欧美精品无需播放器在线观看 | 欧美黄成人免费网站大全 | 青青青国产依人在线视频97 |