Я хочу распространять свой код как самозаводящиеся анонимные функции, как я вижу, многие делают. Кроме того, в моем коде мне нужно отслеживать загрузку другой библиотеки, поэтому я могу использовать ее, когда она доступно.
(function(window, document, undefined) {
staffHappens();
var initMyLib = function() {
if (typeof(myLib) == 'undefined') {
setTimeout("initMyLib()", 50);
} else {
useMyLib();
}
}
moreStaffHappens();
initMyLib(); //-> initMyLib is undefined
})(this, document);
Как может возникнуть эта ошибка? Должен ли initMyLib находиться в пределах охватывающей (самовоспроизводящейся) функции?