2013-04-05 2 views
1

자바 스크립트 OOP 라이브러리를 많이 검색했지만 원하는 기능이 하나만 있습니다.Javascript - 구성 값으로 생성자를 만드는 방법은 무엇입니까?

var에 아이폰 = 새로운 스마트 폰 ({ hasTouchScreen : 사실, 같이 OperatingSystem : '아이폰 OS' })이 같은 설정 값을 사용하여 자바 스크립트 객체를 생성 할; 내가 찾은

유일한 라이브러리는 센차 내선 JS4이 http://docs.sencha.com/ext-js/4-2/#!/api/Ext.ClassManager

... 이런 식으로 생성자를 만들의 마술 무엇입니까? 아니면 나를 위해이 일을 할 수있는 다른 OOP 라이브러리를 제안 해 주시겠습니까? 무료 라이브러리를 찾고 있는데 상업용 애플리케이션에이 라이브러리가 필요하기 때문에 오픈 소스 프로젝트에만 사용할 수있는 무료 Sencha를 사용할 수 없습니다.

감사

+0

당신이 values_을 _config 무엇을 의미합니까? 실제 생성 된 객체에 어떤 영향을 줍니까? 현재 개체의 속성을 인스턴스에 복사하려는 것처럼 보입니다. – Zeta

+0

이것은 매우 일반적인 개념입니다 ... 거의 모든 라이브러리 (내가 직접 작성한 라이브러리 코드 포함)에서 사용 된 것처럼 느껴집니다. – jahroy

+0

'/ * 자유 라이브러리 */기능 SmartPhone (opts) {this.hasTouchScreen = !! opts.hasTouchScreen; this.operatingSystem = opts.operatingSystem;}' –

답변

2

마법 :

var SmartPhone = (function SmartPhoneClass() { 

    function SmartPhone(props) { 
    this.hasTouchScreen = props.hasTouchScreen || false; 
    this.operatingSystem = props.operatingSystem || 'Android'; 
    } 

    SmartPhone.prototype = { 
    ... 
    }; 

    return SmartPhone; 

}()); 

var iPhone = new SmartPhone({ 
    hasTouchScreen: true, 
    operatingSystem: 'iOS' 
}); 
+0

여러분 모두에게 감사드립니다. 이것은 내가했던 것입니다. (예 : new SmartPhone ({hasTouchScreen : true, operatingSystem : 'iOS'}) ~을 찾고 :) –

관련 문제