从javascript函数返回数据的更好方法是什么?

时间:2013-04-12 18:23:06

标签: javascript jquery function return

我正在构建一个javascript游戏,并将游戏的某些部分编码在单独的文件中,例如main.js用于循环和初始化等,然后我有级别,播放器,冲突文件。

游戏文件(关卡,玩家,碰撞)的设置如下:

function Level(){

  this.draw_level = function(){

  }
}

然后从我的主文件中调用,如下所示:

var level = new Level();
level.draw_level();

我遇到的问题是从嵌套函数返回信息。这是我所指的代码:

function Level (){

//other functions

 this.collisionLayer = function(layer){
    if(!layer.properties && !layer.properties.collision){return;}
    var t = this,
        row = [];
    t.solids = [];
    layer.data.forEach(function(idx, i) {
        if (i % layer.width === 0 && i) {
            t.solids.push(row);
            row = [];
        }
        row.push(idx);
    });
    t.solids.push(row);

}
}

并从我的主文件中调用,如下所示:

var collisions =  level.collisionLayer(layers)

我想要做的是返回t.solids数组,以便我可以利用主JS文件中存储的信息。

我试过了

return t;

但我得到了突出显示错误的功能:

function has inconsistent return points

我的问题是:

在像我这样的情况下返回信息的更好方法是什么?存储在全局变量中?或其他一些方式?

以上错误是什么意思?很高兴知道以备将来参考。

由于

1 个答案:

答案 0 :(得分:1)

感谢所有投入的人。 正如Parthik Gosar所说,我可以使用level.solids访问实体数组! 再次感谢