尽管已定义,但javascript变量未定义

扬·普罗查兹卡

我正在尝试使用此函数在 HTML5 画布上获取鼠标的位置:

function getMousePos(canvas, evt) {
    var rect = canvas.getBoundingClientRect();
    return {
        x: evt.clientX - rect.left,
        y: evt.clientY - rect.top
    };
}

该函数通过附加到 window DOM 对象的事件侦听器(侦听 mousemove 事件)调用。

我在一个对象中将 mousePos 的初始值声明为 0,0,如下所示:

var engine = {
    canvas: document.getElementById('main'),
    mousePos: {x:0,y:0},
    ...
}

每当我将鼠标移出画布并重新加载页面时,控制台都会报告:

Uncaught ReferenceError: mousePos is not defined

由于 window.mousemove 事件尚未触发,变量未定义。但对我来说,似乎在我第一次使用变量之前,它是正确定义的。尽管如此,为什么我仍然收到此错误?

我的其余代码(包括 HTML):https : //pastebin.com/03FZ2Q3L

先感谢您。

扬·普罗查兹卡

在我的代码中有一些地方我忘记将 mousePos 变量称为 engine.mousePos,因为我忘记了它们被放置在引擎对象中。

例子:

if(typeof mousePos.x !== undefined){ ... }

应该

if(typeof engine.mousePos.x !== undefined){ ... }

感谢大家的帮助

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Javascript变量未定义但已定义

来自分类Dev

PHP私有变量是“未定义”,尽管已定义

来自分类Dev

JavaScript说对象内部的已定义变量未定义

来自分类Dev

已定义的未定义变量

来自分类Dev

GLSL错误:尽管已定义,但计算着色器中的未定义布局缓冲区变量

来自分类Dev

PHP未定义变量错误,但已定义

来自分类Dev

变量未定义错误,即使已定义

来自分类Dev

接收错误:注意:未定义变量-但已定义

来自分类Dev

注意:对已定义的变量使用未定义的常量

来自分类Dev

变量已定义但仍未定义错误

来自分类Dev

Javascript ReferenceError:函数未定义,但已定义

来自分类Dev

变量未定义-JavaScript

来自分类Dev

未定义 Javascript 变量

来自分类Dev

angularjs $ localStorage未定义,但已定义

来自分类Dev

访问未定义的属性-但已定义。

来自分类Dev

对已定义函数的未定义引用

来自分类Dev

对已定义方法的未定义引用

来自分类Dev

javascript变量是未定义的甚至定义?

来自分类Dev

JavaScript变量未定义与未定义

来自分类Dev

JavaScript变量未定义与未定义

来自分类Dev

javascript:未定义变量与未定义函数

来自分类Dev

如何通过 jQuery 在 ajax 调用中将已定义的变量设置为未定义?

来自分类Dev

Laravel 未定义变量:存储错误但我的存储已定义

来自分类Dev

未定义的变量:

来自分类Dev

变量未定义

来自分类Dev

变量未定义

来自分类Dev

未定义变量

来自分类Dev

尽管Javascript Function尚未定义,但并未定义

来自分类Dev

javascript变量是未定义的。为什么?