Может кто-нибудь объяснить, как сделать это правильноJavascript Пространства имен и неопределенная функция
foo(); //outputs 'foo'
function foo(){
console.log('foo');
}
, но это дает «функция не определена» Ошибка
MY_NAME_SPACE ={};
MY_NAME_SPACE.foo(); //undefined
MY_NAME_SPACE.foo = function(){
console.log('foo');
}
Я могу видеть, что во втором примере, вызов было сделано до того, как функция была добавлена в объект My_NAME_SPACE, но если это так, как бы использовать этот тип «пространства имен», если важно упорядочение?
Чтобы быть немного более ясным ... Я знаю, что эта ошибка происходит, потому что я вызываю функцию до того, как она была объявлена / добавлена в объект. Тем не менее, я читал об использовании этого типа «namespacing», чтобы избежать функций с повторяющимися именами и т. Д., Но, похоже, вам теперь нужно беспокоиться о заказе на ваш код/функции? – fredmarks
Вы просто * не будете * использовать пространство имен, прежде чем создавать его? – Bergi