>  기사  >  웹 프론트엔드  >  jQuery.extend function_jquery에 대한 자세한 설명

jQuery.extend function_jquery에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 17:56:471035검색

JQuery의 확장 메서드: Jquery의 확장 메서드는 플러그인을 작성할 때 일반적으로 사용되는 메서드입니다. 이 메서드에는 몇 가지 오버로드된 프로토타입이 있습니다. 1. Jquery의 확장 메서드 프로토타입은 다음과 같습니다.

코드 복사 코드는 다음과 같습니다.

extend (dest ,src1,src2,src3...);

src1, src2, src3...을 dest로 병합한다는 의미이며 반환 값은 병합된 dest입니다. 이 메서드를 병합한 후에는 dest의 구조가 수정됩니다. 병합된 결과를 얻고 싶지만 dest의 구조를 수정하고 싶지 않은 경우 다음과 같이 사용할 수 있습니다.
코드 복사 코드는 다음과 같습니다.

var newSrc=$.extend({},src1,src2,src3...)//즉, "{}"를 대상으로 사용합니다. 매개변수.

이렇게 하면 src1, src2, src3...을 병합할 수 있고 병합된 결과는 newSrc에 반환됩니다. 예:
코드 복사 코드는 다음과 같습니다.

var result=$. extend({} ,{name:"Tom",age:21},{name:"Jerry",sex:"Boy"})

그러면 병합된 결과
코드 복사 코드는 다음과 같습니다.

result={name:"Jerry",age:21,sex: "Boy"}

즉, 나중 매개변수가 이전 매개변수와 이름이 같은 경우 나중 매개변수가 이전 매개변수 값을 덮어씁니다.
2. dest 매개변수 생략
위의 확장 메서드 프로토타입에서 dest 매개변수를 생략할 경우 해당 메서드는 src 매개변수를 하나만 가질 수 있으며, src는 확장 호출에 병합됩니다. 1. $.extend(src) 이 메소드는 src를 다음과 같은 jquery의 전역 객체로 병합하는 것입니다.
코드 복사 코드는 다음과 같습니다.

$.extend({ hello:function(){alert('hello');} })

hello 메소드를 jquery의 전역 객체에 병합하는 것입니다.
 2. $.fn.extend(src) 이 메소드는 src를 다음과 같은 jquery 인스턴스 객체로 병합합니다.
코드 복사 코드는 다음과 같습니다.

$.fn.extend({ hello:function(){alert('hello');} })


  hello 메소드를 jquery 인스턴스 객체에 병합하는 것입니다.
일반적으로 사용되는 확장 예제는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.

$.extend({net:{}});

  jquery 전역 객체에서 net 네임스페이스를 확장하는 것입니다.
코드 복사 코드는 다음과 같습니다.

$.extend($.net,{ hello:function (){alert('hello');} })

이는 hello 메소드를 이전에 확장된 Jquery net 네임스페이스로 확장하는 것입니다.
3. Jquery의 확장 메소드에도 오버로드된 프로토타입이 있습니다.
코드 복사 코드는 다음과 같습니다.

extend(boolean,dest,src1,src2,src3...)

첫 번째 매개변수 부울은 전체 복사 수행 여부를 나타냅니다. 다른 매개변수는 이전 소개와 일치합니다. . 딥 카피란 무엇인가요? 예를 들어 보겠습니다.
코드 복사 코드는 다음과 같습니다.

var result=$.extend( true, {}, { name: "John", location: {city: "Boston",county:"USA"} }, { last: "Resig", location: {주: "MA", 카운티:" 중국"} } );
하위 개체 위치: {city: "Boston"}이 src1에 중첩되어 있고 하위 개체 위치: {state: "MA"}도 src2에 중첩되어 있음을 알 수 있습니다. true인 경우 병합 후 결과는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.

결과={이름:" John", 마지막:"Resig", 위치:{city:"Boston",state:"MA",county:"China"}}


즉, src 의 중첩된 하위 개체도 병합되고, 첫 번째 매개변수 boolean이 false인 경우 다음과 같이 병합 결과가 무엇인지 살펴보겠습니다.
코드 복사 코드는 다음과 같습니다.

var result=$.extend( false, {}, { name: "John" , 위치:{도시: "보스턴", 카운티:" 미국"} }, { 마지막: "Resig", 위치: {주: "MA", 카운티:"중국"} } )

병합된 결과는 다음과 같습니다.
코드 복사 코드는 다음과 같습니다.

결과 ={name:"John",last:"Resig",location :{state:"MA",county:"China"}}


위 내용은 $. 확장()은 프로젝트에서 자주 사용됩니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.