2015-11-13 3 views
0

Я видел следующее во всех плагинах, однако, когда я ввожу его и пытаюсь создать экземпляр объекта, он выдает ошибку, говоря, что он может найти переменную «SomeClass». Может кто-нибудь объяснить мне, что это такое и почему, когда я пытаюсь, это не работает.закрытие при создании классов не работает

(function(){ 
    var SomeClass = function(){ 
     function SomeClass(){ 

     } 
    }; 
}).call(this); 
+1

Каков ожидаемый результат? Как вы собираетесь это использовать? –

+0

Вы определяете две локальные переменные. Где бы вы ожидали определить «SomeClass»? – Bergi

+0

Взгляните на Dropzone.js, это то, что вы найдете! Я пытаюсь понять, как обращаться с несколькими экземплярами! – Gacci

ответ

0

В этой конструкции нет магии.

Функция верхнего уровня работает в контексте this, который может быть любым.

Внутри него создается переменная SomeClass, которая указывает на функцию, которая ничего не делает.

+0

Я видел, что это используется при создании классов. Мне было интересно, как обрабатываются несколько экземпляров. Если я правильно понимаю, функция верхнего уровня является областью для объектов типа SomeClass. Но как вы управляете кликом по нескольким экземплярам. – Gacci

+0

Это модель, которую можно использовать для чего угодно. Это зависит от того, что вы включаете в себя и что вы возвращаете. –

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