keycode = { getKeyCode : function(e) { var keycode = null; if(window.event) { keycode = window.event.keyCode; }else if(e) { keycode = e.which; } return keycode; }, getKeyCodeValue : function(keyCode, shiftKey) { shiftKey = shiftKey || false; var value = null; if(shiftKey === true) { value = this.modifiedByShift[keyCode]; }else { value = this.keyCodeMap[keyCode]; } return value; }, getValueByEven..
constructor 속성은 객체를 만드는 기능함수를 반환하거나, 설정을 하는 메소드 이다. 생성된 객체의 constructor 속성을 통해 해당 생성자 함수와 일치 여부가 가능하다 function A() { this.name = "A함수"; this.getName = function() { return this.name; } } a = new A(); document.writeln(a.constructor); //function A() { this.name = "A\uD568\uC218"; this.getName = function () {return this.name;}; } document.writeln(a.constructor == A); //결과 : true function A() { this...
/** * 트위터 bootstrap js 패턴 */ ;(function($){ var Calculator = function( el, options ) { this.$el = $(el); this.options = $.extend({} , $.fn.calculator.defaults, options); } Calculator.prototype = { constructor : Calculator , show : function(){ console.log( this.options ); } } $.fn.calculator = function ( option ) { return this.each(function(){ var $this = $(this) , data = $this.data('calculator')..
* Custom Event 를 사용하면 느슨한 결합을 수행할 수 있다. 이 말의 의미는 , 바로 구현해야 하는 곳에서 구현하지 않고 따로 빼서 독립적으로 구현 할 수 있다란 의미라고 이해 하면 될 듯하다. 의존은 하되 느슨하게 결합되도록 !. 예를 들어 ajax 호출 을 하고, 결과에 따른 처리를 하는데, 해당 메서드 내에서 처리하지 않고 독립적으로 사용할 수 있게끔 사용 할 수 있다. 옵져버 패턴을 공부하면 잘 알 듯 하다. 예 ) 질문을 클릭하면 답변의 출력 ( 답변을 독립적으로 구현 ), Pub/Sub 예제 Ajax 호출 후 처리 /* Question Answer */ $.fn.faq = function(options) { return this.each(function(i, el) { var bas..
(function($) { var o = $( {} ); $.each({ on: 'subscribe', trigger: 'publish', off: 'unsubscribe' }, function( key, api ) { $[api] = function() { o[key].apply( o, arguments ); } });})(jQuery);(function($) { var Twitter = { init: function() { this.template = '{{tweet}}'; this.query = '@javascript'; this.tweets = []; this.timer; this.cache(); this.bindEvents(); this.subscripti..