成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

ES6 Proxy 鏈?zhǔn)讲僮?

zhangfaliang / 2879人閱讀

摘要:該回調(diào)函數(shù)的返回值為累積結(jié)果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時(shí)作為參數(shù)提供。中的參數(shù)作為的初始值,執(zhí)行方法,并將執(zhí)行結(jié)果作為回調(diào)函數(shù)的第一個(gè)參數(shù)。

ES6 Proxy 鏈?zhǔn)讲僮?/b>

最近在看阮一峰老師的ES6,對(duì)于代理的鏈?zhǔn)讲僮?,這里記錄一下我的理解
一言不合先貼代碼!

首先. 利用閉包執(zhí)行pipe(3)返回一個(gè)新的proxy對(duì)象。緊接著調(diào)用pipe(3).double,根據(jù)proxy攔截規(guī)則的定義:

get(target, propKey, receiver)

攔截對(duì)象屬性的讀取,比如proxy.foo和proxy["foo"]。

會(huì)調(diào)用返回的這個(gè)新的proxy對(duì)象的get方法,其中參數(shù)target是pipe(3),fnName是double,如果fnName全等于get,執(zhí)行reduce方法,否則將該方法放入到funcStack數(shù)組中,并返回又一個(gè)新的Proxy對(duì)象,以便繼續(xù)鏈?zhǔn)秸{(diào)用下去。

其次. 最后fnName全等于get,執(zhí)行reduce方法

reduce 方法 (Array) (JavaScript)

對(duì)數(shù)組中的所有元素調(diào)用指定的回調(diào)函數(shù)。該回調(diào)函數(shù)的返回值為累積結(jié)果,并且此返回值在下一次調(diào)用該回調(diào)函數(shù)時(shí)作為參數(shù)提供。

pipe(3)中的參數(shù)作為reduce的初始值,執(zhí)行double方法,并將執(zhí)行結(jié)果作為回調(diào)函數(shù)的第一個(gè)參數(shù)。

最后. 瀏覽器的全局對(duì)象是window,node的全局對(duì)象是global,阮老師的這個(gè)例子要放到頁(yè)面上運(yùn)行,直接在node中運(yùn)行會(huì)報(bào)錯(cuò)。

參考鏈接:
Proxy
reduce 方法 (Array) (JavaScript)
Node.js的全局對(duì)象和全局變量

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/84103.html

相關(guān)文章

  • ES6Proxy學(xué)習(xí)

    摘要:在中構(gòu)造器的典型特點(diǎn)就是首字母大寫(xiě),我們通過(guò)原對(duì)象代理列表格式去創(chuàng)建對(duì)象創(chuàng)建的這個(gè)對(duì)象我們稱(chēng)之為代理對(duì)象。就是原對(duì)象是當(dāng)前的屬性名是代理對(duì)象。理解為明星的經(jīng)理人消極怠工原封不動(dòng)地轉(zhuǎn)告外界的信息給明星本身。但是要注意與是兩個(gè)不同的對(duì)象。 ES6之Proxy proxy的中文有代理的意思。在其他的程序設(shè)計(jì)語(yǔ)言中這個(gè)單詞也具有類(lèi)似的含義。 它是什么 Proxy是一個(gè)構(gòu)造器。在js中構(gòu)造器的典...

    UnixAgain 評(píng)論0 收藏0
  • 避免取值時(shí)出現(xiàn)Cannot read property 'xx' of unde

    摘要:由于是以空函數(shù)為代理對(duì)象,我們可以將執(zhí)行它,觸發(fā)。中會(huì)遍歷數(shù)組依次取值,如果發(fā)現(xiàn)無(wú)法繼續(xù)取值則,跳出循環(huán)。 本文來(lái)自我的博客,歡迎大家去GitHub上star我的博客 我們?cè)谌≈堤貏e是鏈?zhǔn)饺≈档臅r(shí)候,常常會(huì)遇到Cannot read property xx of undefined的錯(cuò)誤,如何避免這種情況的發(fā)生呢?這里有幾種方法以供參考 使用成熟的庫(kù)方法 這是最簡(jiǎn)單的一種手段:只用引入...

    fantix 評(píng)論0 收藏0
  • es6 promise面試

    摘要:執(zhí)行函數(shù)會(huì)返回一個(gè)遍歷器對(duì)象,每一次函數(shù)里面的都相當(dāng)一次遍歷器對(duì)象的方法,并且可以通過(guò)方法傳入自定義的來(lái)改變函數(shù)的行為。函數(shù)可以通過(guò)配合函數(shù)更輕松更優(yōu)雅的實(shí)現(xiàn)異步編程和控制流管理。它和構(gòu)造函數(shù)的不同點(diǎn)類(lèi)的內(nèi)部定義的所有方法,都是不可枚舉的。 let const的命令 在ES6之前,聲明變量只能用var,var方式聲明變量其實(shí)是很不合理的,準(zhǔn)確的說(shuō),是因?yàn)镋S5里面沒(méi)有塊級(jí)作用域是很不合...

    timger 評(píng)論0 收藏0
  • 基于ES6的tinyJquery

    摘要:但它操作的便利性無(wú)出其右。我用寫(xiě)了一個(gè)基于簡(jiǎn)化版的,僅做個(gè)學(xué)習(xí)記錄。包含基礎(chǔ)操作,支持鏈?zhǔn)讲僮?,僅供日常使用。功能基于基本選擇器構(gòu)造,包括基于原生構(gòu)造,將原生對(duì)象轉(zhuǎn)化為對(duì)象。為支持批量操作,構(gòu)造器應(yīng)包含復(fù)數(shù)的。 原文地址:Bougie的博客showImg(https://segmentfault.com/img/bV71uK?w=500&h=260);jQuery作為曾經(jīng)Web前端的必...

    U2FsdGVkX1x 評(píng)論0 收藏0
  • 基于ES6的tinyJquery

    摘要:但它操作的便利性無(wú)出其右。我用寫(xiě)了一個(gè)基于簡(jiǎn)化版的,僅做個(gè)學(xué)習(xí)記錄。包含基礎(chǔ)操作,支持鏈?zhǔn)讲僮?,僅供日常使用。功能基于基本選擇器構(gòu)造,包括基于原生構(gòu)造,將原生對(duì)象轉(zhuǎn)化為對(duì)象。為支持批量操作,構(gòu)造器應(yīng)包含復(fù)數(shù)的。 原文地址:Bougie的博客showImg(https://segmentfault.com/img/bV71uK?w=500&h=260);jQuery作為曾經(jīng)Web前端的必...

    FrozenMap 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<