javascript - 为什么我的函数未定义?

标签 javascript

我是 JavaScript 的新手。我编写了以下代码:

function Vec2(x_,y_)
{
    this.x = x_;
    this.y = y_;
}

稍后在文件中我创建了一个这样的函数:

// Init game field array
var initGameField = function () {
    var screenCenter = vec2(canvas.width / 2, canvas.height / 2);
    var index = 0;

    // Init gamefieldArray
    for(var y = 0; y < maxVerticalBubbles; y++)
    {
        if(y%2)
        {
            for(var x = 0; x < maxHorizontalBubbles - 1; x++)
            {
                var initPoint = vec2(cellSize / 2 + (screenCenter.x - ((maxVerticalBubbles - 1) * cellSize / 2)) + (x * cellSize), 
                                 canvas.height / 2 + (cellSize / 2) + y * cellSize / 1.1);

                gameFieldArray[index] = initPoint;
            }
        }
        else
        {
            for(var x = 0; x < maxHorizontalBubbles; x++)
        {
                var initPoint = vec2(cellSize / 2 + (screenCenter.x - (maxVerticalBubbles * cellSize / 2)) + (x * cellSize), 
                                 canvas.height / 2 + (cellSize / 2) + y * cellSize / 1.1);

                gameFieldArray[index] = initPoint;
            }
        }
    }
}

但是,当我尝试在 javascript 文件末尾运行 initGameField 函数时,我在“initGameField”中出现“vec2 not defined”错误...应该如何以正确的方式完成?为什么不能识别函数 vec2,因为它在 initGameField 函数之前和运行 initGameField 函数之前被引入?

最佳答案

Javascript 区分大小写,您的函数定义为 Vec2 但您正尝试使用 vec2 调用它

还要确保使用“new”关键字创建新实例。

var initPoint = new Vec2(cellSize / 2 + (screenCenter.x - ((maxVerticalBubbles - 1) * cellSize / 2)) + (x * cellSize), 
                             canvas.height / 2 + (cellSize / 2) + y * cellSize / 1.1);

关于javascript - 为什么我的函数未定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13415296/

相关文章:

javascript - DHTML 弹出窗口

javascript - 如何使用 RSA 公钥加密 Javascript 中的数据?

php - 如何使用php调用javascript函数?

javascript - 从数组javascript中删除

javascript - 打印对话框关闭后自动转到上一个窗口

javascript - 为什么 IE 试图下载文件,如何解决?

javascript - Backbone.js - 此按钮和事件绑定(bind)正确吗?

javascript - Canvas lineTo 中的 lineWidth 变化更平滑

javascript - 如何隐藏元素,然后在单击包含它们的 DIV 时显示它们

javascript - Handsontable JSON 返回未定义