>  기사  >  웹 프론트엔드  >  jQuery에서 $.extend() 사용에 대한 간략한 토론

jQuery에서 $.extend() 사용에 대한 간략한 토론

青灯夜游
青灯夜游앞으로
2020-11-18 17:49:252279검색

이 문서에는 모든 사람을 위한 jQuery $.extend() 사용법이 요약되어 있습니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.

jQuery에서 $.extend() 사용에 대한 간략한 토론

관련 권장사항: "jQuery Video"

JQuery를 사용하여 플러그인을 개발하는 두 가지 방법

1. jQuery.extend(object); 새 방법을 추가합니다. 수업에 .

2. jQuery.fn.extend(object); jQuery 객체에 메서드를 추가합니다.

jQuery.fn

jQuery.fn = jQuery.prototype = {
    init: function(selector, context) {
        //内容
    }
}

jQuery.fn = jQuery.prototype. O(∩_∩)O 하하~, 이 프로토타입을 아시나요? !

JavaScript 에는 클래스에 대한 명확한 개념이 없지만 클래스를 사용하여 이해하는 것이 더 편리합니다. jQuery는 매우 잘 캡슐화된 클래스입니다. 예를 들어 $("#p1") 문을 사용하면 jQuery 클래스의 인스턴스가 생성됩니다.

jQuery.extend(object)

jQuery 클래스에 클래스 메소드를 추가하는 것은 정적 메소드를 추가하는 것으로 이해할 수 있습니다.

Chestnut①

jQuery.extend({
    min: function(a, b) {
        return a < b ? a : b;
    },
    max: function(a, b) {
        return a > b ? a : b;
    }
});
jQuery.min(2, 3); //  2 
jQuery.max(4, 5); //  5

jQuery.fn.extend(object);

은 jQuery 클래스에 "멤버 함수"를 추가하는 것입니다. jQuery 클래스의 인스턴스만 이 "멤버 함수"를 호출할 수 있습니다.

밤나무 ②

예를 들어, 특수 편집 상자를 만드는 플러그인을 개발하고 싶습니다. 클릭하면 현재 편집 상자의 내용이 경고됩니다. 이렇게 할 수 있습니다.

$.fn.extend({
    alertWhileClick: function() {
        $(this).click(function() {
            alert($(this).val());
        });
    }
});
//$("#input1")是jQuery的实例,调用这个扩展方法
$("#input1").alertWhileClick();

jQuery.extend() 호출은 메서드를 개체의 인스턴스로 확장하지 않습니다. 이를 참조하는 메서드도 jQuery.init()와 같은 jQuery 클래스를 통해 구현되어야 합니다.

jQuery.fn에 대한 호출은 메소드를 객체의 프로토타입으로 확장하므로 jQuery 객체가 인스턴스화되면 jQuery의 모든 곳에 반영되는 이러한 메소드가 있습니다.JS

jQuery .fn.extend = jQuery.prototype.extend

플러그인 메커니즘인 jQuery의 프로토타입으로 객체를 확장할 수 있습니다.

밤나무 ③

(function($) {
    $.fn.tooltip = function(options) {};
    //等价于 var
    tooltip = {
        function(options) {}
    };
    $.fn.extend(tooltip) = $.prototype.extend(tooltip) = $.fn.tooltip
})(jQuery);

프로그래밍 관련 지식을 더 보려면 프로그래밍 비디오 코스를 방문하세요! !

위 내용은 jQuery에서 $.extend() 사용에 대한 간략한 토론의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제