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

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

javascript - js 有優(yōu)雅的辦法從外部 hijack 函數(shù)入?yún)幔?/h1>
瀏覽:100日期:2023-09-21 18:52:02

問(wèn)題描述

let fn = (a, b, c) => { console.log(a, b, c)}fn1(0, 0, 0) // output: 0 0 0

想要 fn 每次調(diào)用的時(shí)候第二個(gè)參數(shù)總是加 2

fn(0, 0, 0) // output: 0 2 0fn(1, 1, 1) // output: 1 3 1

目前只找到一種很丑的寫(xiě)法去 hijack:

fn = (_ => { const innerFn = fn const newFn = (a, b, c) => { innerFn(a, b + 2, c) } Object.assign(newFn, innerFn) return newFn})()

有沒(méi)有更好一點(diǎn)的包裝方法?

問(wèn)題解答

回答1:

方法是沒(méi)錯(cuò),不過(guò)我總覺(jué)得你寫(xiě)的有點(diǎn)別扭……我覺(jué)得直接一點(diǎn)比較好……

// 原函數(shù)function fn(a, b, c) { console.log(a, b, c)}// 加工函數(shù)const addTwo = (fn) => (a, b, c) =>fn(a, b + 2, c);// 生成新函數(shù)const newFn = addTwo(fn);newFn(0, 0, 0); //0 2 0回答2:

想要 fn 每次調(diào)用的時(shí)候第二個(gè)參數(shù)總是加 2

呃呃呃。。

其實(shí)無(wú)非就是分別給參數(shù)加上 0, 2, 0

也就是說(shuō)從函數(shù) fn 生成另外一個(gè) 偏函數(shù) fnOffset

把 [0, 2, 0] 這三個(gè)參數(shù) 分別加到 fn(a, b, c) 上的 a b c 上

更廣義的說(shuō):

把 [ .... ] 這 n 個(gè)參數(shù) 分別加到 fn() 的 arguments 的對(duì)應(yīng)位置上

function fn(a, b, c){ console.log(a, b, c); }function adder(arr, fn, _this){ _this = _this || window; var toAdd = arr.slice(0, fn.length); return function(){var argu = Array.prototype.slice.call(arguments); fn.apply(_this, toAdd.map((item, idx) => { return argu[idx] + item; })); }}var fnOffset = adder([0, 2, 0], fn); fnOffset(0, 0, 0); fnOffset(2, 1, 0);

javascript - js 有優(yōu)雅的辦法從外部 hijack 函數(shù)入?yún)幔? src=

javascript - js 有優(yōu)雅的辦法從外部 hijack 函數(shù)入?yún)幔? src=

用 fn020 做變量名 應(yīng)該更優(yōu)雅把 = =

回答3:

你描述的東西有點(diǎn)像ES6的Proxy,但是這個(gè)是無(wú)法polyfill的,可能不太適合在前端用。

標(biāo)簽: JavaScript
相關(guān)文章:

主站蜘蛛池模板: 欧美日韩精品在线视频 | 成人在线免费小视频 | 男人的天堂在线免费视频 | 午夜三级a三级三点在线观看 | 高清韩国a级特黄毛片 | 日本不卡免费高清视频 | 亚洲二区在线 | 国产9191精品免费观看 | 亚洲成人中文 | 三级大片网站 | 日本精品久久久久久久 | 亚洲欧美日韩国产专区一区 | 毛片免费观看日本中文 | 91香蕉国产观看免费人人 | 美国三级大片 | 99看视频| 欧美国产成人精品一区二区三区 | 色网站在线观看 | 午夜成年人网站 | 在线观看精品视频一区二区三区 | 亚洲国产精品日韩在线 | 韩国福利影视一区二区三区 | 亚洲欧美视频在线播放 | 一级黄色录相片 | 波多野结衣在线观看免费区 | 久久婷五月天 | 成人男女网18免费看 | 亚洲毛片免费在线观看 | 在线91精品亚洲网站精品成人 | 成人免费午夜性视频 | 免费99视频有精品视频高清 | 国产精品亚洲综合天堂夜夜 | 男女那个视频免费 | 美女个护士一级毛片亚洲 | 亚洲影院国产 | 亚洲男人的天堂久久香蕉 | 久久国产视频网站 | 99精品在免费线视频 | 亚洲男人天堂2018 | 伊人爱爱网| 久久99亚洲精品久久久久网站 |