2014-09-18 6 views
-1

Здравствуйте, мне нужно проверить конструктор, если класс уже существует, как я могу это сделать?Javascript Проверьте, существует ли класс

у меня есть что-то вроде этого:

var MyNamespace = MyNamespace || { 

    MyClass: function(string){ 
    this.string = string; 
    this.sayHello = function(){ 
     return this.string; 
    } 
    } 

}; 
+4

Если 'MyNamespace' не существует, как бы' MyClass', возможно, существуют? – Cerbrus

+1

В javascript нет классов. Все нативные функции являются конструкторами, поэтому, если функция существует, значит, и «класс». – RobG

+1

Что именно вы подразумеваете под «классом», в JavaScript нет классов. Это прототип или объект. – treeno

ответ

2

Вы, вероятно, ищете что-то вроде этого:

var MyNamespace = MyNamespace || {}; 
MyNamespace.MyClass = MyNamespace.MyClass || function(string){ 
    this.string = string; 
    this.sayHello = function(){ 
     return this.string; 
    } 
} 
+0

Не могли бы вы объяснить, когда вы будете использовать это? Интересно, как возможно, что прототип может быть инициирован дважды? (Этот вопрос не значит критический, мне просто интересно). – treeno

+0

Если вы почему-то не уверены, что существует 'MyClass'. Если ваш проект настроен правильно, это не должно быть проблемой. – Cerbrus

+1

Да, это именно то, что я имел в виду: D Большое спасибо! – Gan

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