>  기사  >  웹 프론트엔드  >  jQuery.extend(), jQuery.fn.extend() 확장 메소드에 대한 자세한 설명

jQuery.extend(), jQuery.fn.extend() 확장 메소드에 대한 자세한 설명

WBOY
WBOY원래의
2016-05-16 16:49:071062검색

jQuery는 jQuery.extend() 및 jQuery.fn.extend() 메서드를 사용자 정의했습니다. jQuery.extend() 메서드는 전역 함수 또는 선택기를 만들 수 있고 jQuery.fn.extend() 메서드는 jQuery 개체 메서드를 만들 수 있습니다. >
예:

코드 복사 코드는 다음과 같습니다.
jQuery. extend({
showName : function(name){
alert(name)
}
})
jQuery.showName("Dark Blue")

jQuery. 확장()을 사용하여 jQuery 객체를 확장할 수도 있습니다.
예:

코드 복사 코드는 다음과 같습니다.
var a = {
name : "blue",
pass : 123
}
var b = {
이름: "red",
pass: 456,
age: 1
}
var c = jQuery.extend({},a,b)

c는 a,b 객체 속성을 소유합니다. b 객체는 a 객체 뒤에 있으므로 해당 이름 속성은 c 객체에서 첫 번째입니다.

jQuery.extend() 메서드는 일련의 옵션을 전달합니다.

코드 복사 코드는 다음과 같습니다.
function fn(options){
var options = jQuery.extend({ //기본 매개변수 옵션 목록
name1: value1,
name2: value2,
name3: value3
}, options); //함수 매개변수를 사용하여 기본 매개변수 옵션 목록을 덮어쓰거나 병합합니다
/ /함수 본문
}
fn({ name1 : value3, name2 : value2 , name3 : value1 });/ /새 값 사용
fn({ name4 : value3, name5 : value2 });// 기본값에 새 옵션 추가
fn() //기본 옵션 값 유지 ​​

이 메서드가 호출되면 새 매개 변수 값을 전달하면 기본 매개 변수 옵션 값을 덮어쓰게 됩니다. 그렇지 않으면 기본 매개 변수 값을 사용합니다.

JQuery 개체 메서드를 생성하려면 JQuery.fn 개체를 사용하세요.

jQuery.fn 객체를 통해 속성과 메소드를 추가할 수 있습니다. 실제로 jQuery.fn 객체는 Hook입니다. jQuery.prototype에서는 이를 줄여서

fn이라고 합니다. jQuery 코드를 보면 찾기가 어렵지 않습니다.

코드 복사 코드는 다음과 같습니다.
jQuery.fn = jQuery.prototype = {

 init: function(selector, context) {//.... 

  //……

}

원본 jQuery .fn = jQuery.prototype. 당신은 확실히 프로토타입에 익숙합니다.

예:

코드 복사 코드는 다음과 같습니다.
jQuery.fn.test = function(){
alert("jQuery 객체 메서드입니다!")
}
jQuery("div").click(function(){
$(this).test (); //현재 jQuery 개체에서 test() 메서드를 호출합니다.
})

jQuery.fn.extend() 메서드를 호출할 수 있습니다.

코드 복사 코드는 다음과 같습니다.
jQuery.fn .extend({
테스트 : 함수( ){
return this.each(function(){
alert(this.nodeName)
});
}
});
jQuery("body *").click(function(){
$(this).test(); //jQuery 객체 메서드 호출
})

한마디로: jQuery.extend는 JQuery 클래스 사용자 정의 확장을 위한 것이고, jQuery.fn.extend는 JQuery 객체에 대한 사용자 정의 확장입니다.
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.