JQuery의 확장 확장 방법: Jquery의 확장 메서드 확장은 플러그인 작성 과정에서 흔히 사용하는 방법이며, 이 메서드에는 오버로드 프로토타입도 있으니 함께 배워봅시다. 1. Jquery 확장 방법의 프로토타입은 다음과 같습니다:
즉, src1, src2, src3... merge to dest 를 반환하고, merge d의 값을 반환하는데, 이는 merge 후 dest의 구조가 변경되었음을 나타냅니다. 병합 결과를 얻고 싶지만 dest 구조를 수정하고 싶지 않다면, 다음 방법을 사용할 수 있습니다:
이렇게 하면 src1, src2, src3 등을 설정할 수 있습니다... 병합한 후 병합 결과를 newSrc로 반환합니다. 예를 들어:
그리고 합병 후 결과는
즉, 다음 매개변수가 이전 매개변수와 같은 이름을 가지면, 다음 매개변수가 이전 매개변수의 값을 덮어씁니다.
2. 가장 매개변수를 생략한다 생략할 경우, 메서드는 하나의 src 매개변수만 가질 수 있으며, src는 확장 메서드를 호출하는 객체에 병합할 수 있습니다. 예를 들어: 1, $.extend(src) 이 방법은 src를 jquery의 전역 객체에 병합하는 것입니다. 예를 들어:
이는 hello 메서드를 jquery의 전역 객체에 병합하는 것입니다. 2, $.fn.extend(src) 이 메서드는 src를 jquery 인스턴스 객체에 병합합니다. 예를 들면:
이는 hello 메서드를 jquery 인스턴스 객체에 병합하는 것입니다.
다음은 일반적으로 사용되는 확장 몇 가지 예시입니다:
이는 jquery 글로벌 객체 내 .NET 네임스페이스의 확장입니다.
이는 이전에 확장된 Jquery의 넷 네임스페이스에 대한 hello 메서드의 확장입니다.
3. Jquery의 extend 메서드에도 오버로드 프로토타입이 있습니다:
첫 번째 매개변수 불리언은 딥 복사를 할지 여부를 나타내며, 나머지 매개변수들은 앞서 소개한 것과 동일합니다.
중첩된 하위 객체 위치:{city:"Boston"}이 src1에 중첩되어 있고, 하위 객체 위치:{state:"MA"}도 src2에 중첩되어 있으며, 첫 번째 깊이 복사 매개변수가 참이면 병합된 결과는 다음과 같습니다:
즉, src 내 중첩된 서브오브젝트들도 병합하며, 첫 번째 매개변수 불리언이 거짓이라면 병합 결과가 어떻게 나오는지 살펴보겠습니다.
합병 결과는 다음과 같습니다:
다음은 $.extend()가 프로젝트에서 자주 사용되는 방식에 대한 몇 가지 세부 사항입니다.
|