Я пытаюсь использовать шаблон раскрывающегося модуля для охвата JavaScript на моей странице, чтобы я не загрязнял глобальное пространство имен.JavaScript раскрывает глобальную переменную шаблона шаблона undefined
<script type="text/javascript">
var myModule = (function(){
function windowLoad() {
// window onLoad things
return;
}
function otherFunc(){
// otherFunc things
}
window.onload = windowLoad;
return { otherFunc: otherFunc };
})();
myModule.otherFunc(); // myModule is undefined here
</script>
По какой-то причине, как показано в комментарии выше, myModule
неопределен, когда я иду, чтобы использовать его. Зачем?
«myModule здесь не определен». Что заставляет вас думать так? Это ** не ** 'undefined'. – undefined
Единственное, что не определено, это результат 'myModule.otherFunc', который ожидается, поскольку вы ничего не возвращаете. См. Http://jsfiddle.net/4065yLcv/1/ –
@Juan Это не вопрос OP, так как 'otherFunc' может делать некоторые вещи, но не возвращать какое-либо значение. Проблема заключалась в том, что 'myModule' не определен, хотя на самом деле он определен. Вы явно не понимали проблему OP. – MaxZoom