色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

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

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

問題描述

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

目前只找到一種很丑的寫法去 hijack:

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

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

問題解答

回答1:

方法是沒錯(cuò),不過我總覺得你寫的有點(diǎn)別扭……我覺得直接一點(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í)無非就是分別給參數(shù)加上 0, 2, 0

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

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

更廣義的說:

把 [ .... ] 這 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è)是無法polyfill的,可能不太適合在前端用。

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

主站蜘蛛池模板: 久久影院在线观看 | 暖暖视频日韩欧美在线观看 | 久久国产精品久久久久久久久久 | 成年男女拍拍拍免费视频 | 亚洲精品资源在线 | 一级毛片免费观看不卡视频 | 欧美精品人爱a欧美精品 | 久久国产精品一国产精品 | 亚洲第一页视频 | 美女视频永久黄网站免费观看韩国 | 久久精品视 | 中国一级毛片特级毛片 | 欧美精品午夜久久久伊人 | 99精品国产兔费观看久久99 | 日本 片 成人 在线 日本68xxxxxxxxx老师 | 老色99久久九九精品尤物 | 国产成 人 综合 亚洲绿色 | 欧美激情免费观看一区 | 99久久99久久久99精品齐 | 露脸 在线 国产 眼镜 | 精品国产一二三区 | 91成人网 | 特黄日韩免费一区二区三区 | 曰本女同互慰高清在线观看 | 国产成人精品在线 | 国产美女高清一级a毛片 | 91网站网站网站在线 | 免费看一级欧美激情毛片 | 日本免费人做人一区在线观看 | 一级做a| 全国男人的天堂天堂网 | 免费观看a毛片一区二区不卡 | 新版天堂中文资源8在线 | 一区二区三区四区视频在线观看 | 一级特黄aa大片欧美网站 | 在线看精品 | 成人软件网18免费视频 | 中文字幕在线观看不卡视频 | 日本精品一在线观看视频 | 亚洲欧美国产中文 | 中文字幕在线观看日韩 |