2014-12-08 3 views
0

Итак, я пытаюсь сделать что-то вроде Java, чтобы решить проблему с именем класса. Что я могу сделать:Javascript как проблема с пакетом и классом

function com_mycompany_my_package(){ 
    function Class1(){ 
     this.field1=0; 
    } 

    Class1.prototype.increase=function(){ 
     this.field1=1; 
    } 

    function Class2(){ 
     this.field1=0; 
    } 

    Class2.prototype.descrease=function(){ 
     this.field1=-1; 
    } 

} 

var class1=new ? 

Как я могу получить новый экземпляр класса 1? Мой путь хороший или плохой? Что еще может решить проблему конфликта имен?

+0

Смотрите это: http://addyosmani.com/writing-modular-js/ – lexicore

+0

Ваш вопрос не имеет ничего общего с программированием на Java, так что я бы удалить этот тег. – Gimby

+0

@Gimby - я удалил –

ответ

1

Кажется, вам нужен модульный подход. Вы можете сделать

var com_mycompany_my_package = (function() { 

    // Declare private variables here 
    function Class1(){ 
     this.field1=0; 
    } 
    Class1.prototype.increase=function(){ 
     this.field1=1; 
    } 

    // Export public methods: 
    return { 
     Class1: Class1 
    }; 

})(); 

var class1 = new com_mycompany_my_package.Class1(); 
+0

Спасибо за ваше время. Понимая этот случай, мы создаем полный экземпляр com_mycompany_my_package. И если у этого пакета есть Class2, Class3, ClassN, у нас будут проблемы с производительностью? –

+0

@PashaTurok Я не думаю, что это будет значительно хуже, чем другие подходы. – Oriol

Смежные вопросы