RequireJS对象中的私有和公共方法

时间:2012-05-04 20:49:19

标签: javascript properties methods private requirejs

我不确定如何在使用requirejs时将方法设置为private或public,因为它使用对象声明的简写。在下面的代码中,我更喜欢属性“id”和方法“prepareId”是私有的。

define(['jquery'], function ($) {
    var Asset = Class.extend({
        init: function() {
            this.id = "12345";
        }
        ,getAsset: function() {
          return this.prepareId(this.id);
        }
        ,prepareId: function(id) {
          return "#" + id;
        }
    });
    return Asset;
});

1 个答案:

答案 0 :(得分:2)

我觉得你有点困惑。 require.js不会对您返回的内容施加规则。如果要返回创建“私有”属性和函数的构造函数,可以这样做。

所以以下(如果我正确理解你的私人意思)应该可以正常工作。

define(['jquery'], function ($) {
  var Asset = function () {
    var id;
    function prepareId(id) {
      ...
    };
    ...
  };
  return Asset;

});