2013-10-11 3 views
0

몇 년 동안 Javascript를 사용해 왔지만 널리 사용되는 모든 프레임 워크와 라이브러리 측면에서 완전히 초보자입니다. 일반적인 의미에서 "패키지"에 관해 많은 질문을 가지고 있습니다. JQuery와 같은 모든 범용 툴킷과 전문 솔루션을 나열한 치트 시트를 찾는 것이 좋을 것입니다. 그러나 나의 이행은 점진적이며, 나는 여전히 "내 자신을 압도하고있다".자바에서 정적 메서드 클래스를 정의하는 방법

내 자신을 롤업하는 측면에서 : 정적 메서드를 번들로 제공하기 위해 인스턴스화하지 않는 클래스를 Javascript로 만들려면 어떻게해야합니까? 예 :

var mypackage = new Object ; 
mypackage.getDocument = function() { 
    return document ; 
}.bind(mypackage) ; 

mypackage.getCookie = function() { 
    return this.getDocument().cookie ; 
    }.bind(mypackage) ; 

이 예는 의도적으로 사소한, 문서 쿠키를 검색하기위한 대안으로 응답하지 마십시오.

이 예제는 자바 스크립트에 클래스 또는 패키지을 정의하는 내 일반적인 접근 방식을 보여줍니다. 그러나 bind() 연산자는 비교적 새로운 것으로 생산에 적합하지 않을 수 있음을 이해합니다. 그게 사실이야? 다른 접근법이 있습니까?

+1

'var mypackage = {getDocument : function() {...}, getCookie : function() {...}}'? –

+0

Javascript 디자인 패턴에 대한 유용한 전자 책이있어 도움이 될 것입니다. http://addyosmani.com/resources/essentialjsdesignpatterns/book/ – asafreedman

+0

자바 스크립트에는 클래스가 없습니다. 프로토 타입 기반 OO 시스템을 갖추고 있습니다. 비록 실제로 당신이 _namespaces_를 요구하고 있다고 생각합니다. –

답변

2

종종 객체로 초기화되는 것을 볼 수 있습니다. 예 :

// Definition. 
var mypackage = { 
    getDocument: function() { 
     return document; 
    }, 

    getCookie: function() { 
     return this.getDocument().cookie; 
    } 
}; 

// Example. 
(function() { 
    console.log(mypackage.getCookie()); 
}()); 
관련 문제