第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

柯里化和偏函數(shù)有什么區(qū)別?

柯里化和偏函數(shù)有什么區(qū)別?

慕蓋茨4494581 2018-10-19 14:11:25
下面兩段代碼看來好像區(qū)別不大,都是先傳遞一部分參數(shù)然后再返回一個函數(shù)。他們有什么不同的用途嗎// 柯里化function add(x){    return function(y){        return x + y;    }}var inc = add(1)var dev = add(-1)inc(1) // 2dev(1) // 0//偏函數(shù)function list() {  return Array.prototype.slice.call(arguments);}var list1 = list(1, 2, 3); // [1, 2, 3]// Create a function with a preset leading argumentvar leadingThirtysevenList = list.bind(undefined, 37);var list2 = leadingThirtysevenList(); // [37]var list3 = leadingThirtysevenList(1, 2, 3); // [37, 1, 2, 3]
查看完整描述

1 回答

?
紫衣仙女

TA貢獻1839條經(jīng)驗 獲得超15個贊

舉個例子你就明白了,假設(shè)有一個Add(x,y,z)函數(shù),接收x,y,z三個參數(shù),返回x+y+z

  • 偏函數(shù)

AddBySeven = Partial(Add, 7);
AddBySeven(5, 10); // returns 22;

這是偏函數(shù),固定了你函數(shù)的某一個或幾個參數(shù),返回一個新的函數(shù),接收剩下的參數(shù), 參數(shù)個數(shù)可能是1個,也可能是2個,甚至更多。

  • 柯里化

curryAdd = Curry(Add);
AddBySeven = curryAdd(7);
AddBySeven(5)(10);
 // returns 22
 // curryAdd(7)(5)(10)

柯理化是把一個有n個參數(shù)的函數(shù)變成n個只有1個參數(shù)的函數(shù)

Add = (x, y, z) => x + y + z
變成了CurryAdd = x => y => z => x + y + z

不知道我講明白沒,我好擔心我的語文水平不夠高?。。。。。?!


查看完整回答
反對 回復(fù) 2018-11-25
  • 1 回答
  • 0 關(guān)注
  • 957 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號