国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

javascript - jQuery each 方法第三個參數args 如何解釋?

瀏覽:136日期:2023-03-11 11:10:00

問題描述

空閑的時候看看jq源碼,發現each方法、map方法、makeArray都申明了:僅限于內部使用(// arg is for internal usage only),查閱了大量資料都沒找到答案,就連jquery的api都只給出了前兩個參數的解釋,難道是調試用的?那怎么用呢?

源代碼

// args is for internal usage only each: function( obj, callback, args ) {var value, i = 0, length = obj.length, isArray = isArraylike( obj );if ( args ) { if ( isArray ) {for ( ; i < length; i++ ) { value = callback.apply( obj[ i ], args ); if ( value === false ) {break; }} } else {for ( i in obj ) { value = callback.apply( obj[ i ], args ); if ( value === false ) {break; }} }// A special, fast, case for the most common use of each} else { if ( isArray ) {for ( ; i < length; i++ ) { value = callback.call( obj[ i ], i, obj[ i ] ); if ( value === false ) {break; }} } else {for ( i in obj ) { value = callback.call( obj[ i ], i, obj[ i ] ); if ( value === false ) {break; }} }}return obj; }

經過大量測試,我發現第三個參數還有限制,不能傳的類型有:數字,字符串,json等;只能傳數組;別的類型我就沒在一一測試了在傳入數組的時候,callback必須用和args數組中長度一樣多的參數來一一接收args數組中的值,如果數組中有三個值,callback只有一個形參,那么這個形參只能接收到args[0]的值。而且我們可以通過arguments來打印args中的所以傳過來的值(都是按照順序全部傳過來了的),其中一個測試代碼:

// 首先each我傳入了三個參數// 通過這種方式,我取到了a,b,c 的三個值分別為’wo’, ’ai’, ’ni’// 多次嘗試,我發現args傳過來的三個參數是按照順序排列好的,// 如果只有一個參數那么,我們就只能取到’wo’,// 當var arr = [5, 7, 5];$.each( arr, function(a, b, c){console.log(a); // ’wo’console.log(b); // ’ai’console.log(c); // ’ni’console.log(arguments); //['wo', 'ai', 'ni', callee: function, Symbol(Symbol.iterator): function]console.log(this) // 回調中的所有參數會根據each第一個參數的長度進行多次打印,所以每次打印的this都指向每一次的arr的值 }, [’wo’, ’ai’, ’ni’])參考

我發現在segmentfault 之前也有人問過這個問題,可惜沒有人給出答案/q/10...

問題解答

回答1:

謝謝大家,問題解決了,我知道為什么了

標簽: JavaScript
相關文章:
主站蜘蛛池模板: 香蕉依依精品视频在线播放 | 成人免费aaaaa毛片 | 美国三级在线 | 亚洲精选在线观看 | 67194成人手机在线 | 欧美一级视频在线观看欧美 | 手机看片99| 欧美人成人亚洲专区中文字幕 | 一级毛片视频免费 | 2022国内精品免费福利视频 | 日韩亚洲欧美理论片 | 欧美成人香蕉网在线观看 | 色综合亚洲七七久久桃花影院 | 91四虎国自产在线播放线 | 亚洲第一欧美 | 色视频www在线播放国产人成 | 久久综合丁香 | 国产深夜福利视频在线播放 | 香港三澳门三日本三级 | 亚洲欧美卡通动漫丝袜美腿 | 日韩欧美在线播放视频 | 欧美精选欧美极品 | 欧美一级特黄aa大片视频 | 真实国产精品视频国产网 | 99视频在线国产 | 欧美日本一区二区三区道 | 999国内精品永久免费视频 | 国产三级全黄 | 国产成人精品免费视频大全软件 | 日韩毛片在线播放 | 久久综合狠狠综合狠狠 | 久久国产a | 一本一道久久综合狠狠老 | 亚洲三级免费观看 | 精品免费国产一区二区三区 | 6080伦理久久亚洲精品 | 国产亚洲欧美成人久久片 | 国产真实乱子伦精品视手机观看 | 一区二区三区亚洲视频 | 久久综合久久自在自线精品自 | 日本午夜vr影院新入口 |