JavaScript API를 설계하는 방법을 찾을 때, 나는 매우 강력하고 흥미로운 것처럼 보이는 메소드 체인을 발견했으며, 이것은 우리가 과거에 자주 볼 수있는 것입니다. .
JavaScript 메소드 체인
Wikipedia에 대한 설명이 있습니다.
코드 사본은 다음과 같습니다.
이름이 지정된 매개 변수 Idiom이라고도하는 메소드 체인은 객체 지향 프로그래밍 언어에서 여러 메소드 호출을 호출하는 일반적인 구문입니다. 각 방법은 객체를 반환하여 단일 문서에서 호출을 함께 연결할 수 있습니다. 체인은 구문 설탕이며 중간 변수가 필요하지 않습니다. 메소드 체인은 라인 브레이크가 종종 방법간에 추가 되더라도 더 많은 방법이 묶여 있기 때문에 동일한 선에서 나오는 방법의 수의 증가로 인해 열차 난파선이라고도합니다.
번역 도구를 사용하여 번역했습니다.
코드 사본은 다음과 같습니다.
이름이 지정된 매개 변수 메소드라고도하는 메소드 체인은 객체 지향 프로그래밍 언어에서 여러 메소드를 호출하기위한 공통 구문입니다. 각 메소드는 단일 선언에서 휴대 전화를 함께 연결할 수있는 객체를 반환합니다. 링크는 구문 설탕이며 중간 변수가 필요하지 않습니다. 메소드 체인은 기차 난파선이라고도합니다. 메소드는 다른 방법으로 발생하고 뉴 라인이 일반적으로 메소드간에 추가 되더라도 하나 이상의 메소드 잠금 장치가 발생하기 때문입니다.
방법 체인 사용
대부분의 방법 체인을 사용하는 것은 jQuery 여야합니다.
코드 사본은 다음과 같습니다.
// 체인
$ ( "#person"). 슬라이드 타운 ( 'slow')
.addClass ( '그룹화')
.css ( '마진-왼쪽', '11px');
이 사용법을 사용하여 이것을 호출 할 수 있습니다. jQuery는 링크에 크게 의존합니다. 따라서 여러 메소드를 동일한 선택으로 쉽게 호출 할 수 있습니다. 또한 코드가 더 명확 해지고 동일한 선택이 여러 번 실행되는 것을 방지합니다 (성능 향상). 메소드 체인이 없으면 다음과 같습니다.
코드 사본은 다음과 같습니다.
var p = $ ( '#person');
P.Slidedown ( 'slow');
p.addclass ( '그룹화');
p.css ( '마진-왼쪽', '11px');
디자인 패턴의 빌더와 매우 비슷해 보입니다. 차이점은 여기서 P가 클래스가 아닌 방법이라는 것입니다.
JavaScript 메소드 체인 예제
우리가 이전에 JavaScript 고차 기능에 대해 이야기했을 때, 우리는 print ( 'hello') ( 'World')에 대해 이야기 했으며이 사용의 결과는 다음과 같습니다.
코드 사본은 다음과 같습니다.
기능 f (i) {
반환 함수 (e) {
i+= e;
반환 함수 (e) {
i+= e;
반환 함수 (e) {
경고 (i+e);
};
};
};
};
F (1) (2) (3) (4); // 10
이것은 온라인의 예이지만 지난번에 체인 전화를 쓴 방식이기도했습니다. 약해 보인다.
코드 사본은 다음과 같습니다.
var func = (function () {
반품{
추가 : function () {
Console.log ( '1');
반품{
결과 : function () {
Console.log ( '2');
}
}
}
}
}) ();
func.add (). result ();
실제로 각 기능에 반품이 있어야하므로 다음과 같습니다.
코드 사본은 다음과 같습니다.
func = (function () {
this.add = function () {
Console.log ( '1');
이것을 반환하십시오;
};
this.result = function () {
Console.log ( '2');
이것을 반환하십시오;
};
이것을 반환하십시오;
});
var func = 새로운 func ();
func.add (). result ();
물론 우리는 또한 마지막 두 문장을 넣을 수도 있습니다.
코드 사본은 다음과 같습니다.
var func = 새로운 func ();
func.add (). result ();
~이 되다
코드 사본은 다음과 같습니다.
새 func (). add (). result ();
다른
마지막으로 혼란스러운 장소의 작은 비교로 :
방법 체인 대 프로토 타입 체인
프로토 타입 체인과 방법 체인은 일부 측면에서 유사하지만 차이는
1. 프로토 타입 체인에는 프로토 타입이 필요합니다
2. 메소드 체인이 방법입니다