在javascript中将对象存储在数组中是存储该函数

时间:2016-03-02 05:12:15

标签: javascript

我有一个名为pipe

的自定义对象
function pipe()
{
    this.x = 800;
    this.width = 50;
    this.y = 450;
}

当我尝试在数组中存储管道时,它不存储对象,而是函数。

function loop()
{
    var flappy = new player();
    for(var i = 0; i < 3; ++i)
    {
        var p = new pipe();
        p.x = (1 + i) * 266;
        pipes.push(pipe);
    }
    interval = window.setInterval(function() { updateLogic(flappy) } , 20);
}

如果我尝试在管道中访问管道的属性,则表示未定义。

var pipe = pipes[0];
console.log(pipe.x);

1 个答案:

答案 0 :(得分:2)

您放置pipes.push(pipe)而不是pipes.push(p)