国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于數組forEach方法的封裝

RayKr / 1248人閱讀

摘要:今天,開始正式開始搭建自己的前端學習之路,必不可少的當然就是開始搭建自己的知識庫了。好了,廢話不多說,想必大家對的方法并不陌生吧,但是你知道他是怎么實現的嗎我們自己能不能也封裝一個這樣的方法供我們自己使用呢。

今天,開始正式開始搭建自己的前端學習之路,必不可少的當然就是開始搭建自己的知識庫了。
好了,廢話不多說,想必大家對ES5的forEach方法并不陌生吧,但是你知道他是怎么實現的嗎?我們自己能不能也封裝一個這樣的方法供我們自己使用呢。

**放上簡略版代碼:**

    Array.prototype.forEach = function myForEach(fn = function() {}, direction) {
   for (let i = 0; i < this.length; i++) {
    // 此處寫 fn.apply(direction, [this[i], i, this])也是可以的喲
    // 詳細知識就要去看apply,bind,call的相關知識點啦
    // direction 代表this的指向
        fn.bind(direction, [this[i], i, this])();
    }
}

**運行示例:**
 // 使用
let arr = [1, 2, 3];
let arr1 = [4, 5, 6];
arr.forEach(function(item, index, a) {
    // this 指向arr1
    console.log("this=", this)
}, arr1);
   

**涉及知識點:**
  1. forEach(()=>{},direction)中第二個參數的作用(改變函數內的this指向)
  
  2. [1,2,3].forEach(function(item,index,direction) {
     console.log(item);
    })封裝的思路在哪(this指向的是這個數組,數組要想傳入函數就要用到this關鍵字)
    
  3. apply,this,call的使用,此處用于改變函數this指向。 
 

前端的學習之路漫長,慢慢寫作,慢慢成長,我們一起加油哦!

這是我第一篇自己的文章,好期待一年后的我還在堅持著寫文章哪!

歡迎各位小伙伴對我批評指正,謝謝!

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/103964.html

相關文章

  • 翻譯連載 | JavaScript輕量級函數式編程-第7章: 閉包vs對象 |《你不知道JS》姊妹

    摘要:相像閉包和對象之間的關系可能不是那么明顯。一個沒有對象的編程語言可以用閉包來模擬對象。事實上,表達一個對象為閉包形式,或閉包為對象形式是相當簡單的。簡而言之,閉包和對象是狀態的同構表示及其相關功能。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 關于譯者:這是一個流淌著滬江血液的純粹工程:認真,...

    leanxi 評論0 收藏0
  • Refactoring to collection(譯)

    摘要:獲取試讀文章高階函數高階函數就是參數為可以為,并且返回值也可為的函數。比方說,我們現在有顧客名單,但我們需要得到他們的郵箱地址我們現在不用高階函數用一個來實現它,代碼如下。 《Refactoring To Collection》 本文是翻譯Adam Wathan 的《Collection To Refactoring》的試讀篇章,這篇文章內容不多,但是可以為我們Laraver使用者能更...

    lavnFan 評論0 收藏0
  • 關于 bind 你可能需要了解知識點以及使用場景

    摘要:語法是這樣樣子的當綁定函數被調用時,該參數會作為原函數運行時的指向。當使用對象的方法時,需要引用對象,你可能需要顯式地把綁定到回調函數以便繼續使用對象。中方法簡介備忘中的,以及中方法的使用與實現 不看不知道,一看嚇一跳,已經整整一個月沒有更新 underscore 源碼解讀系列文章了。前面我們已經完成了 Object ,Array,Collection 上的擴展方法的源碼剖析,本文開...

    ls0609 評論0 收藏0
  • js之靈活使用可遍歷數組API

    摘要:總結遍歷數組的時候應該盡量使用這些,靈活運用可以讓代碼更加優雅,這種盡可能使用函數和鏈式調用的風格很接近函數式編程,可以提高代碼質量。 js中有很多可以遍歷數組的API,既然已經封裝的這么好,為什么不在平常開發的時候使用,本文講講forEach、map、filter、some、every、reduce這些API的使用,并且和普通的for語句作對比。 我們以一個對象數組作為測試數據: c...

    sutaking 評論0 收藏0
  • express.js 路由實現解讀

    摘要:關于的實現源碼解讀,版本為。主要為路由部分。返回到的遍歷是通過尾遞歸的方式實現的,注意到被傳入的方法中,中處理事情最后向傳入,從而是否繼續遍歷取決于的實現是否調用的方法。 關于express.js的實現源碼解讀,版本為 4.14。主要為路由部分。 一個Web框架最重要的模塊是路由功能,該模塊的目標是:能夠根據method、path匹配需要執行的方法,并在定義的方法中提供有關請求和回應的...

    sugarmo 評論0 收藏0

發表評論

0條評論

RayKr

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<