创建一个javascript对象并调用它的方法

时间:2013-01-14 15:00:34

标签: javascript class methods

我在一个文件中有以下代码,但它似乎无法正常工作。

我基本上是在尝试创建一个对象并尝试简单地调用对象的函数并显示它,它不会这样做而且我不知道为什么。

var mice = new Mice(10, 10);
function Mice(posX, posY)
{
    this.x = posX;
    this.y = posY;
    this.moveLeft = function ()
    {
        this.x = x - 1;
    }

    this.moveRight = function ()
    {
        this.x = x + 1;
    }

    this.getXPos = function ()
    {
        return this.x;
    }
}

document.onkeydown = function(e)
{
    //document.getElementById("mainBody").innerHTML = e.keyCode;

    switch(e.keyCode)
    {
    case 37:
        //document.getElementById("mainBody").innerHTML = "you have pressed left";
        mice.moveLeft();
        document.getElementById("mainBody").innerHTML = mice.getXPos();
        break;
        default:
    //do nothing
    break;
    }
}

任何帮助我们努力工作的人都会非常感激。

由于

3 个答案:

答案 0 :(得分:5)

在“移动”功能中,您必须始终引用this.x

    this.x = this.x - 1;

同样,“getXPos”函数也必须:

    return this.x;

答案 1 :(得分:3)

return x;

你从未在任何地方制作x变量。

您的意思是return this.x;

答案 2 :(得分:1)

getXPos()方法范围内没有x变量。我认为你的意思是return this.x