全局命名空间变量?

And*_*ndy 0 javascript jquery namespaces

我想做点什么

(function( skillet, $, undefined ) {

skillet.global = {

   names: { 

      first: 'abe',
      last: 'watson'

   },
   addresses: {
      home: 'blah'
   }

}

}( window.skillet = window.skillet || {}, jQuery ));
Run Code Online (Sandbox Code Playgroud)

这样我就可以访问了

skillet.global.names.first();
skillet.global.address.home();
Run Code Online (Sandbox Code Playgroud)

但我一直在收到错误?我怎样才能解决这个问题

epo*_*och 6

你在呼唤first,home好像它们是功能; 但您已将它们定义为对象属性.

调用skillet.global.names.first将(如果在警报中)显示abe,如果需要在函数中定义它们,则需要使用正确的函数声明,即

   names: { 
      first: function() {
          return 'abe';
      },
      last: 'watson'
   },
   addresses: {
      home: function() {
          return 'blah';
      }
   }
Run Code Online (Sandbox Code Playgroud)