摘要:今天,開(kāi)始正式開(kāi)始搭建自己的前端學(xué)習(xí)之路,必不可少的當(dāng)然就是開(kāi)始搭建自己的知識(shí)庫(kù)了。好了,廢話不多說(shuō),想必大家對(duì)的方法并不陌生吧,但是你知道他是怎么實(shí)現(xiàn)的嗎我們自己能不能也封裝一個(gè)這樣的方法供我們自己使用呢。
今天,開(kāi)始正式開(kāi)始搭建自己的前端學(xué)習(xí)之路,必不可少的當(dāng)然就是開(kāi)始搭建自己的知識(shí)庫(kù)了。
好了,廢話不多說(shuō),想必大家對(duì)ES5的forEach方法并不陌生吧,但是你知道他是怎么實(shí)現(xiàn)的嗎?我們自己能不能也封裝一個(gè)這樣的方法供我們自己使用呢。
**放上簡(jiǎn)略版代碼:** Array.prototype.forEach = function myForEach(fn = function() {}, direction) { for (let i = 0; i < this.length; i++) { // 此處寫 fn.apply(direction, [this[i], i, this])也是可以的喲 // 詳細(xì)知識(shí)就要去看apply,bind,call的相關(guān)知識(shí)點(diǎn)啦 // direction 代表this的指向 fn.bind(direction, [this[i], i, this])(); } } **運(yùn)行示例:** // 使用 let arr = [1, 2, 3]; let arr1 = [4, 5, 6]; arr.forEach(function(item, index, a) { // this 指向arr1 console.log("this=", this) }, arr1); **涉及知識(shí)點(diǎn):** 1. forEach(()=>{},direction)中第二個(gè)參數(shù)的作用(改變函數(shù)內(nèi)的this指向) 2. [1,2,3].forEach(function(item,index,direction) { console.log(item); })封裝的思路在哪(this指向的是這個(gè)數(shù)組,數(shù)組要想傳入函數(shù)就要用到this關(guān)鍵字) 3. apply,this,call的使用,此處用于改變函數(shù)this指向。
前端的學(xué)習(xí)之路漫長(zhǎng),慢慢寫作,慢慢成長(zhǎng),我們一起加油哦!
這是我第一篇自己的文章,好期待一年后的我還在堅(jiān)持著寫文章哪!
歡迎各位小伙伴對(duì)我批評(píng)指正,謝謝!
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/103964.html
摘要:相像閉包和對(duì)象之間的關(guān)系可能不是那么明顯。一個(gè)沒(méi)有對(duì)象的編程語(yǔ)言可以用閉包來(lái)模擬對(duì)象。事實(shí)上,表達(dá)一個(gè)對(duì)象為閉包形式,或閉包為對(duì)象形式是相當(dāng)簡(jiǎn)單的。簡(jiǎn)而言之,閉包和對(duì)象是狀態(tài)的同構(gòu)表示及其相關(guān)功能。 原文地址:Functional-Light-JS 原文作者:Kyle Simpson-《You-Dont-Know-JS》作者 關(guān)于譯者:這是一個(gè)流淌著滬江血液的純粹工程:認(rèn)真,...
摘要:獲取試讀文章高階函數(shù)高階函數(shù)就是參數(shù)為可以為,并且返回值也可為的函數(shù)。比方說(shuō),我們現(xiàn)在有顧客名單,但我們需要得到他們的郵箱地址我們現(xiàn)在不用高階函數(shù)用一個(gè)來(lái)實(shí)現(xiàn)它,代碼如下。 《Refactoring To Collection》 本文是翻譯Adam Wathan 的《Collection To Refactoring》的試讀篇章,這篇文章內(nèi)容不多,但是可以為我們Laraver使用者能更...
摘要:語(yǔ)法是這樣樣子的當(dāng)綁定函數(shù)被調(diào)用時(shí),該參數(shù)會(huì)作為原函數(shù)運(yùn)行時(shí)的指向。當(dāng)使用對(duì)象的方法時(shí),需要引用對(duì)象,你可能需要顯式地把綁定到回調(diào)函數(shù)以便繼續(xù)使用對(duì)象。中方法簡(jiǎn)介備忘中的,以及中方法的使用與實(shí)現(xiàn) 不看不知道,一看嚇一跳,已經(jīng)整整一個(gè)月沒(méi)有更新 underscore 源碼解讀系列文章了。前面我們已經(jīng)完成了 Object ,Array,Collection 上的擴(kuò)展方法的源碼剖析,本文開(kāi)...
摘要:總結(jié)遍歷數(shù)組的時(shí)候應(yīng)該盡量使用這些,靈活運(yùn)用可以讓代碼更加優(yōu)雅,這種盡可能使用函數(shù)和鏈?zhǔn)秸{(diào)用的風(fēng)格很接近函數(shù)式編程,可以提高代碼質(zhì)量。 js中有很多可以遍歷數(shù)組的API,既然已經(jīng)封裝的這么好,為什么不在平常開(kāi)發(fā)的時(shí)候使用,本文講講forEach、map、filter、some、every、reduce這些API的使用,并且和普通的for語(yǔ)句作對(duì)比。 我們以一個(gè)對(duì)象數(shù)組作為測(cè)試數(shù)據(jù): c...
摘要:關(guān)于的實(shí)現(xiàn)源碼解讀,版本為。主要為路由部分。返回到的遍歷是通過(guò)尾遞歸的方式實(shí)現(xiàn)的,注意到被傳入的方法中,中處理事情最后向傳入,從而是否繼續(xù)遍歷取決于的實(shí)現(xiàn)是否調(diào)用的方法。 關(guān)于express.js的實(shí)現(xiàn)源碼解讀,版本為 4.14。主要為路由部分。 一個(gè)Web框架最重要的模塊是路由功能,該模塊的目標(biāo)是:能夠根據(jù)method、path匹配需要執(zhí)行的方法,并在定義的方法中提供有關(guān)請(qǐng)求和回應(yīng)的...
閱讀 3093·2021-09-22 15:54
閱讀 3981·2021-09-09 11:34
閱讀 1767·2019-08-30 12:48
閱讀 1161·2019-08-30 11:18
閱讀 3431·2019-08-26 11:48
閱讀 913·2019-08-23 17:50
閱讀 2118·2019-08-23 17:17
閱讀 1240·2019-08-23 17:12