从' {}'初始化的原型对象

时间:2014-04-20 03:47:45

标签: javascript node.js

这是我的代码:

module.exports = (function() {
  Function.prototype.extend = function(obj) {
    for (var prop in obj) {
      this[prop] = obj[prop];
    }
  }
})();

var Helpers = {};

Helpers.prototype.get_random_int = function(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

Helpers.prototype.clamp = function(value, min, max) {
    return Math.min(Math.max(this, min), max);
}

module.exports.helpers = Helpers;

我只是想在自己的命名空间中创建自己的帮助器方法,以包含在我的代码中。这是正确的方式吗?我收到一个错误:TypeError:无法设置属性' get_random_int'未定义的。

1 个答案:

答案 0 :(得分:1)

定义构造函数,而不是:

  var Helpers = {};

使用它:

function Helpers() {};

另一方面,如果您只想定义一个简单的对象,请删除原型:

Helpers.get_random_int = function(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

Helpers.clamp = function(value, min, max) {
    return Math.min(Math.max(this, min), max);
}