在我学习JavaScript的尝试中,我提出了这个画布绘图的想法。基本上,我将坐标存储在数组中,脚本将自动在画布上绘制按钮。每个按钮需要8个坐标,x1
,y1
,x2
,y2
等...(我甚至可能会将这些按钮用作以后的链接; p)。我遇到的问题是,根本没有运行,Chrome检查器控制台在此行显示“object is undefined
”:“button = new object();
”
感谢任何帮助。 利奥
function loadMenu() {
//Initialize Canvas
var canvas = document.getElementById("menu_canvas");
var context = canvas.getContext("2d");
//Button Data
var buttonData = [59, 0, 19, 40, 128, 40, 168, 0];
//Create Buttons
var i = 1;
while (i < buttonData.length) {
button = new object();
for (var j = i; j != i + 8; j++) {
if (j % 2 == 0) {
button.X[j] = buttonData[j - 1];
} else {
button.Y[j] = buttonData[j - 1];
}
}
drawButton(button);
i = i + 8;
}
//Begin drawing buttons
function drawButton(button) {
context.beginPath();
context.moveTo(button.X1, buttonX2);
for (k = 2; k != 4; k++) {
context.lineTo(buttonX[k], buttonY[k]);
}
context.closePath();
context.fillStyle = "red";
context.fill();
}
}
答案 0 :(得分:2)
您必须将其大写:
button = new Object();
Javascript区分大小写。
或者,您可以使用对象文字(如Nile所述):
button = {};