简单的javascript程序来显示单击按钮时哪个矩形具有较大的周长,但Rectangle.Perimeter似乎没有从矩形对象的宽度和高度获得所需的值。它只是打印NaN而不是周界。javascript原型方法
<script>
function Rectangle(width, height) {
this.width = width;
this.height = height;
}
var Rectangle1 = new Rectangle(2, 4);
var Rectangle2 = new Rectangle(8.5, 11);
Rectangle.prototype.PrintRectangle = function() {
document.getElementById("p1").innerHTML = "Rectangle width is " + this.width + " and Rectangle height is "+ this.height;
};
Rectangle.prototype.RectanglePerimeter = this.width*2 + this.height*2;
function calculate() {
if(Rectangle1.RectanglePerimeter > Rectangle2.RectanglePerimeter){
document.getElementById("perimetar").innerHTML = "The biggest Rectangle has perimeter of " + Rectangle1.RectanglePerimeter;
}else{
document.getElementById("perimetar").innerHTML = "The biggest Rectangle has perimeter of " + Rectangle2.RectanglePerimeter;
}
}
</script>
<body>
<p><b>Paragraph no: 1</b></p>
<p id="p1" onload="Rectangle1.PrintRectangle()"></p>
<button id="button" onclick="calculate()">Calculate Perimeter</button>
<p id="perimetar"></p>
</body>
当您创建'Rectangle.prototype.RectanglePerimeter',这是什么'this'指什么? – Blender
我想你的意思是让'RectanglePerimeter'成为一个函数。 – 4castle
事情是,当我打电话给Rectangle1.RectanglePerimeter时,我希望它引用Rectangle1的宽度和高度,从这里调用 var Rectangle1 = new Rectangle(2,4); 显然我不知道该怎么做:)) –