Я пытаюсь создать библиотеку foo.js
с функцией foo.bar
в нем, что я могу назвать, как так:Создания пространств имен для библиотеки JavaScript
<script src="foo.js"></script>
<script>
baz = foo.bar();
</script>
Я пытаюсь написать эту библиотеку так:
foo = function() {
foo.bar = function() {
// code goes here
}
}();
, который является образцом, который я видел, используется в других местах, хотя я не могу сказать, что я точно понимаю, что происходит. Когда я пытаюсь использовать это, мне говорят, что foo
не определяется, когда я пытаюсь определить foo.bar
. Что мне не хватает?
foo и foo, это запутанный мир! – Codebeat
+1, мне нравится этот узор. Тогда есть прототипирование, литералы и еще сто других, чтобы выбрать из того, что делает почти то же самое. Для простых вещей я всегда использую объектный литерал, поскольку я думаю, что его легче понять и отслеживать, но я думаю, что это всего лишь вопрос мнения. – adeneo
вам нужно вернуть свой внутренний foo! – hereandnow78