Javascript 使用模块模式在YUI3中创建自定义模块

Javascript 使用模块模式在YUI3中创建自定义模块,javascript,module,namespaces,yui,yui3,Javascript,Module,Namespaces,Yui,Yui3,在我的模块中,我想让一些变量和函数公开,但我不确定应该以哪种方式编写 <script type="text/javascript"> YUI.add('my-module1', function (Y) { Y.namespace("MyModule1"); var privateVar='some data'; var privateFunc=function(){...};

在我的模块中,我想让一些变量和函数公开,但我不确定应该以哪种方式编写

<script type="text/javascript">
    YUI.add('my-module1', function (Y) {

              Y.namespace("MyModule1");

              var privateVar='some data';
              var privateFunc=function(){...};

              /*should I do it like this?*/
              Y.MyModule1.publicVar='some data';
              Y.MyModule1.publicFunc=function(){...};


              /*or is this correct if I do it like this?*/
              var publicVar='some data';
              var publicFunc=function(){...};

              return{
                  publicVar: publicVar,
                  publicFunc: publicFunc
              };


    }, '0.0.1', {
              requires: []
    });

</script>

YUI.add('my-module1',函数(Y){
Y.名称空间(“MyModule1”);
var privateVar='some data';
var privateFunc=函数(){…};
/*我应该这样做吗*/
Y.MyModule1.publicVar='some data';
Y.MyModule1.publicFunc=函数(){…};
/*或者如果我这样做是正确的*/
var publicVar='some data';
var publicFunc=函数(){…};
返回{
publicVar:publicVar,
publicFunc:publicFunc
};
}, '0.0.1', {
需要:[]
});

第一种方法是将公共成员附加到Y,而不是返回对象


请参阅和以获取示例。

第一种方法是将公共成员附加到Y,而不是返回对象

有关示例,请参见和