【发布时间】:2014-06-21 17:37:30
【问题描述】:
我正在构建一个简单的计算器,以将其整合到一个简单的基于 Web 的 POS 系统中。我对 JS 没有太多经验,但我广泛使用 C、C++ 和 Java 编程。
在 firefox 调试器中,我得到一个异常 TypeError: "this.getValue is not a function。"当它在方法 updateDisplay() 中被调用时。
JS不支持这种结构吗?在对象的方法中调用对象方法?
function KeyPad(divReference) {
this.divDisplay = divReference;
this.value = "0";
this.comma = false;
}
KeyPad.prototype.getValue = function () {
return parseFloat(this.value);
};
KeyPad.prototype.updateDisplay = function () {
$(document).ready(function () {
$(this.divDisplay).text(this.getValue());
});
};
KeyPad.prototype.keyPressed = function (valueString) {
if (valueString == '.' && this.comma === true) {
return;
}
this.value = this.value + valueString;
if (valueString == '.') {
this.comma = true;
}
this.updateDisplay();
};
KeyPad.prototype.reset = function () {
this.value = "0";
this.comma = false;
this.updateDisplay();
};
var keyPad = new KeyPad("#keypad_display");
【问题讨论】:
标签: javascript oop object methods