jQuery.fn.extend(); jQuery.extend();
jQuery.fn = jQuery.prototype = {init: function( selector, context ) {//….//……};
jQuery.fn = jQuery.prototype이라는 것이 밝혀졌습니다.
JavaScript에는 클래스에 대한 명확한 개념이 없지만 클래스를 사용하여 이해하는 것이 더 편리합니다.
jQuery는 매우 잘 캡슐화된 클래스입니다. 예를 들어 $(“#btn1″) 문을 사용하면 jQuery 클래스의 인스턴스가 생성됩니다.
jQuery 클래스에 클래스 메소드를 추가하는데, 이는 정적 메소드를 추가하는 것으로 이해될 수 있습니다. 예:
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 Objectj Query.extend( target, object1, [objectN])
하나 이상의 다른 객체로 객체를 확장하고 확장된 객체를 반환합니다
var settings = { validate: false, limit: 5, name: "foo" }; var options = { validate: true, name: "bar" }; jQuery.extend(settings, options); //结果:settings == { validate: true, limit: 5, name: "bar" } jQuery.fn.extend(object);
jQuery.prototype을 확장하는 것은 jQuery 클래스에 "멤버 함수"를 추가하는 것입니다. jQuery 클래스의 인스턴스는 이 "멤버 함수"를 사용할 수 있습니다.
예를 들어, 특수 편집 상자를 생성하는 플러그인을 개발하고 싶습니다. 클릭하면 현재 편집 상자의 내용이 경고됩니다. 이렇게 할 수 있습니다:
$.fn.extend({ alertWhileClick:function() { $(this).click(function(){ alert($(this).val()); }); } }); $("#input1").alertWhileClick(); // 页面上为: $("#input1") //为一个jQuery实例,当它调用成员方法 alertWhileClick后,便实现了扩展,每次被点击时它会先弹出目前编辑里的内容。
jQuery.extend()에 대한 호출은 메서드를 객체의 인스턴스로 확장하지 않습니다. 이를 참조하는 메서드도 jQuery.init()와 같은 jQuery 클래스를 통해 구현되어야 합니다. 및 jQuery.fn에 대한 호출은 메서드를 개체의 프로토타입으로 확장하므로 jQuery 개체가 인스턴스화되면 이러한 메서드가 jQuery.js
에 모두 반영됩니다.jQuery.fn.extend = jQuery.prototype.extend
객체를 jQuery의 프로토타입으로 확장할 수 있습니다. 이 경우 플러그인 메커니즘입니다.
아아아아위 내용은 jQuery는 플러그인 개발을 위한 두 가지 방법을 제공합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!