Глобальное пространство имен vars? - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь сделать что-то вроде

(function( skillet, $, undefined ) {

skillet.global = {

   names: { 

      first: 'abe',
      last: 'watson'

   },
   addresses: {
      home: 'blah'
   }

}

}( window.skillet = window.skillet || {}, jQuery ));

Так что я могу получить доступ как

skillet.global.names.first();
skillet.global.address.home();

Но я продолжаю получать ошибки? Как я могу исправить это

Ответы [ 2 ]

6 голосов
/ 23 февраля 2012

Вы вызываете first и home, как если бы они были функциями; но вы определили их как свойства объекта.

При вызове skillet.global.names.first (в случае предупреждения) будет отображаться abe, если вам нужно определить их в функциях, вам нужно использовать правильное объявление функции, т.е.

   names: { 
      first: function() {
          return 'abe';
      },
      last: 'watson'
   },
   addresses: {
      home: function() {
          return 'blah';
      }
   }
3 голосов
/ 23 февраля 2012

изменить skillet.global.names.first(); на skillet.global.names.first;

изменить skillet.global.address.home(); на skillet.global.addresses.home;

...