2013-05-02 3 views
0

해킹되지 않은 첫 번째 jQuery 플러그인을 코딩하려고하는데 생성자, 공용 변수, 전용 변수 및 함수를 사용하여 기본 객체를 만드는 데 어려움을 겪고 있습니다.재사용 가능한 jQuery 객체를 만드는 올바른 방법

http://jqueryboilerplate.com/에는 jQuery를 확장하는 객체를 만드는 데 유용한 가이드가 있지만 DOM 요소에 첨부되지 않은 일반 객체로 이동하는 올바른 방법이라고 생각하지 않습니다.

누구나 기본적인 재사용 가능한 객체를 만들기위한 상용구 템플릿을 가지고 있습니까? 즉

var calc = new CustomCalculator({'starting_value': 42}); 
calc.add(3); 
calc.multiplyBy(2); 
alert(calc.total); // Alerts (42 + 3) * 2 = 90 
+0

귀하의 예제 코드가 jQuery를 함께 할 수있는 무엇을 얼마나 정말 없습니까 . –

+0

jQuery 상용구는 실제로 아주 좋습니다. 개인 변수를 처리하고 jQuery를 올바른 방식으로 확장합니다. –

답변

1

코드 샘플에서는 JS 객체를 만드는 기본적인 방법이 필요합니다. 이 트릭을 할 것이다 (그러나 그것을 할 수있는 다른 방법이 많이있다) :

function CustomCalculator(options){ 
    var self = this; 
    self.total = options.starting_value; 

    self.add = function(term){ 
     self.total += term; 
    }; 

    self.multiplyBy = function(term){ 
     self.total = self.total * term; 
    }; 
} 

var calc = new CustomCalculator({'starting_value': 42}); 
calc.add(3); 
calc.multiplyBy(2); 
alert(calc.total); // Alerts 90 

당신은 여전히 ​​문자열 연결을 구현해야 할 것,하지만 난 당신

해당를 떠날거야이 사적인 변수를 원하면 클로저를 사용해야합니다. 나는 최근에 당신을 도울 수있는 자바 스크립트에서 네임 스페이스와 모듈에 대한 기사 작성 : http://www.kenneth-truyers.net/2013/04/27/javascript-namespaces-and-modules/

을 그리고 여기에 특별히 개인 변수에 대한 또 다른 하나는 다음과 같습니다 http://www.kenneth-truyers.net/2012/04/22/private-variables-in-javascript/

+0

그건 완벽한 케네 쓰. 나는 너의 기사를 또한 읽을 것이다. 엄청 고마워! BTW - 나는 명확성을 제외하고 개인 변수를 숨기는 것이 중요하지 않습니다. 나는 그것을 Google에게해야한다고 생각한다. :) – Anthony

관련 문제