我正在使用 javascript/jquery 来计算一些简单的公式。我通过创建对象然后使用 HTML 输入元素的值作为执行和返回答案所需的参数来做到这一点。
这是javascript(本问题末尾的jsfiddle链接中提供了HTML和CSS):
var recP = $("#recP");
var recA = $("#recA");
var ansr = $("#ansr");
var l = $("#l").val();
var w = $("#w").val();
//rectangle
function Rectangle(length,width) {
this.length = length;
this.width = width;
this.calcPerim = function() {
return (this.length * 2) + (this.width * 2);
};
this.calcArea = function() {
return this.length * this.width;
};
};
var rectangle = new Rectangle(l,w); // l and w are defined in the above variables
var recPerim = rectangle.calcPerim(l,w);
var recArea = rectangle.calcArea(l,w);
recP.click(function() {
ansr.append("The perimeter is " + recPerim);
});
recA.click(function() {
ansr.append("The area is " + recArea);
});
如果我设置输入元素的值,我会得到预期的结果。例子:
<input type="text" id="l" value="3" />
<input type="text" id="w" value="4" />
将返回 12 的面积和 14 的周长,但是当输入框中的值更改时,它仍然返回相同的值。这真的很令人沮丧,我不知道出了什么问题。我什至尝试过不设置值,但这只是返回 0。
这是一个包含所有 HTML、CSS 和 JS的jsFiddle 。如果更改值,结果仍然相同。我是 javascript 新手,因此不胜感激。