코 리 화 함수 의 자 바스 크 립 트
정의.
정의 에 따 르 면 코 리 화 는 '여러 개의' 인 자 를 받 는 함 수 를 하나 또는 여러 개의 '단일' 인 자 를 받 는 함수 로 나 누 는 것 이다.정 의 는 비교적 추상 적 으로 보인다. 다음은 예 를 들 어 보 자.
코드
1
2
3
4
5
function concat(str1,str2){return str1 + str2;}
concat( "forever", "px") // "foreverpx"
不难理解,上面的代码中定义了一个连接字符串的函数,返回连接两个传入参数的字符串。现在我们再看看另一种定义方式:
|
上面的代码中,我们将一开始传入两个参数的函数改装成了一个(或者说是两个)只接收一个参数的函数。
我们来创建一个将接受多个参数的函数柯里化的通用函数:
|
柯里化的过程利用了闭包,使得返回的函数也能获得第一次传入的参数。
首先将传入的第二个参数存入args变量中,然后返回一个函数,在返回的函数中,将第一次传入的参数与柯里化之后传入的参数拼接起来成一个数组,然后通过apply方法调用柯里化之前的函数(fn),这样就达到了柯里化的效果。
如果是三个参数的函数想要柯里化,则如下:
글 쓴 이: foreverpx 글 원문 링크: 코 리 화 함수 의 자바 script |
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
기초 정리 - 1문자 (String) 숫자 (Number) 불린 (Boolean) null undefined 심볼 (Symbol) 큰정수 (BigInt) 따옴표로 묶어 있어야 함 Not-A-Number - 숫자 데이터 / 숫자로 표...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.