공개 프로토 타입 패턴을 사용하여 jQuery 플러그인을 개발하고 있습니다. 객체를 인스턴스화하는 데 문제가 있습니다. 다음, 플러그인의 코드 : 인스턴스화 할 때공개 프로토 타입 패턴을 사용하는 jQuery 플러그인
(function($) {
var GammadiaCalendar = function(elem, options) {
this.elem = elem;
this.$elem = $(elem);
this.options = options;
};
GammadiaCalendar.prototype = function() {
var defaults = {
message: 'Hello world!'
},
init = function() {
this.config = $.extend({}, this.defaults, this.options);
this.displayMessage();
return this;
},
displayMessage = function() {
alert(this.config.message);
};
return {
displayMessage : displayMessage
};
};
GammadiaCalendar.defaults = GammadiaCalendar.prototype.defaults;
$.fn.GammadiaCalendar = function(options) {
return this.each(function() {
new GammadiaCalendar(this, options).init();
});
};
})(jQuery)
내가 GammadiaCalendar 받고 있어요는 정의되지 않습니다
var에 GC = 새로운 GammadiaCalendar ('아이디');
이 노출되지 않기 때문에 당신이 포함 된 기능의
var gc = new GammadiaCalendar('id');
밖에 할 수 없습니다주 이미 IIFE 안에 있기 때문에 패턴은 꽤 불필요합니다. 프로토 타입과 생성자는 내부에서만 사용할 수 있습니다. – Esailija