0

在我尝试学习 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();
    }
}
4

1 回答 1

2

您必须将其大写:

button = new Object();

Javascript 区分大小写。

或者,您可以使用对象文字(如 Nile 所述):

button = {};
于 2013-01-30T02:24:41.013 回答