JS:用"原型"添加一个函数不可能

时间:2015-07-08 13:58:58

标签: javascript class oop prototype typeerror

我真的无法找到问题所在。浏览器始终显示以下错误:

TypeError:undefined不是函数(评估' this._createButtons()')

这是我的代码:

function OpenSlider(el, steps) {
  this.ul = el;
  this.steps = steps;
  this.slider_width = $(this.ul).width();
  this.content_width = this.ul.scrollWidth;
  this._createButtons();
}

OpenSlider.prototype = {
  _createButtons : function() {
    alert("created");
  }
}

在另一份文件中:

var slider = OpenSlider(document.getElementById("element-id"),1);

也许你可以帮助我......

1 个答案:

答案 0 :(得分:0)

您需要使用OpenSlider构造函数来新建对象:

var slider = new OpenSlider(document.getElementById("element-id"),1);

也将行更改为:

OpenSlider.prototype._createButtons = function() {
    alert("created");
  };

因为你要覆盖原型对象而不是使用附加功能扩展它。