이것은 흥미로운 것입니다. 또한 JavaScript 객체의 힘을 보여줄 수도 있습니다. 우리가해야 할 일은 이전 기사에서 언급했듯이 Hello, World를 출력하는 것입니다. 입력은 인쇄 ( 'Hello') ( 'World')이며 소위 고차 기능입니다.
고급 기능
고급 순서는 고급 프로그래밍 기술을위한 밀교 용어처럼 보이며, 처음 보았을 때 그렇게 생각했습니다.
JavaScript의 고차 기능
그러나 고차 함수는 인수 또는 반환 값으로 함수를 취하는 함수 일뿐입니다. Hello and World는 위의 간단한 예입니다.
코드 사본은 다음과 같습니다.
var moqi = function (p1) {
this.add = function (p2) {
반환 p1 + '' + p2;
};
반환 추가;
};
이 기능을 이와 같이 사용할 수 있습니다
코드 사본은 다음과 같습니다.
Console.log (Moqi ( 'Hello') ( 'World'));
어쩌면이 과정이 약간 혼란 스러울 수도 있습니다. 더 상세한 지 확인해 봅시다.
코드 사본은 다음과 같습니다.
> Moqi 유형 ( 'Hello')
<- "함수"
> 모키 ( '안녕하세요')
<- 함수 (p2) {
반환 p1 + '' + p2;
}
즉, 실제로 Moqi ( 'Hello')는 기능입니다. Moqi ( 'Hello').
코드 사본은 다음과 같습니다.
> var m = moqi ( 'hello')
> M ( '세계')
> "안녕하세요, 세계"
위의 상황에서 판단하면 고차 기능을 통해 코드를보다 간결하고 효율적으로 만들 수 있습니다. 당연히 우리는 다음을 용이하게 할 함수를 만들 수 있습니다.
코드 사본은 다음과 같습니다.
> Moqi ( 'hello') ( 'World') ( 'Phodal')
> "안녕하세요, 세계 포델"
그러한 기능이 있습니다
코드 사본은 다음과 같습니다.
var moqi = function (p1) {
반환 기능 (P2) {
반환 함수 (p3) {
반환 p1 + ',' + p2 + '' + p3;
}
};
};
고차 기능을 복원하십시오
고차 함수 추상화를 도입 해야하는 신호는 중복 또는 유사한 코드입니다. 그런 다음 이전 기능으로 단계별로 복원합니다.
코드 사본은 다음과 같습니다.
var moqi = function (p1) {
this.add = function (p2) {
반환 함수 (p3) {
반환 p1 + ',' + p2 + '' + p3;
}
};
이 this.add;
};
그런 다음 새 기능을 만듭니다
코드 사본은 다음과 같습니다.
var moqi = function (p1) {
this.add = function (p2) {
this.add1 = function (p3) {
반환 p1 + ',' + p2 + '' + p3;
};
님이 retuck.add1;
};
이 this.add;
};
JavaScript에서 호출 방법을 사용하면 다음이 있습니다.
코드 사본은 다음과 같습니다.
var moqi = function (p1) {
var self = 이것;
함수 FD (P2) {
this.add1 = function (p3) {
반환 p1 + ',' + p2 + '' + p3;
};
}
self.add = function (p2) {
Fd.call (this, p2);
님이 retuck.add1;
};
self.add를 반환합니다.
};
고급 기능 예제
위의 예는 단지 재미를위한 것이며 다음 예는 실제 응용 프로그램입니다.
코드 사본은 다음과 같습니다.
add = function (a, b) {
A + B를 반환합니다.
};
함수 수학 (func, array) {
return func (배열 [0], 배열 [1]);
}
Console.log (Math (Add, [1,2]);
> 수학 (추가, [1,2])
<3
위의 예에서 전달 된 추가는 매개 변수이며, 반환은 단지 함수 일뿐입니다. 예를 들어 jQuery에는 함수가 있습니다
코드 사본은 다음과 같습니다.
// Camelcase로 돌진 된 변환; CSS 및 데이터 모듈에서 사용합니다
// Microsoft는 공급 업체 접두사 (#9572)를 괴롭히는 것을 잊었습니다.
Camelcase : function (string) {
return string.replace (rmsprefix, "ms-") .replace (rdashalpha, fcamelcase);
},
이는 JS를 마스터하기 위해 고차 기능을 사용하는 경우에도 마찬가지입니다. .