JavaScript console.log执行顺序?

时间:2012-10-05 00:18:24

标签: javascript console execution

我的代码看起来像这样:

function pathfind (start,end,map)
{
    this.Init = function ()
    {
       this.open_node = new Array();
       this.open_node.push(start);
       console.log(this.open_node);
       this.Loop();
    }
    this.Loop = function ()
    {
       //Some code here
    }
    this.Init();
}

出于某种原因,当我将“start”推入this.open_node并记录其值时,我得到“未定义”。但是,经过一些错误测试,我意识到这个评论出来了.Loop();在this.Init中导致push正常运行,console.log按原样返回[start]。任何人都可以解释为什么会发生这种行为?

编辑:我正在打电话

pathfind({x:2,y:2},{x:24,y:24},parsemap(25,25));

2 个答案:

答案 0 :(得分:5)

经过进一步研究后,我发现console.log不会立即在Chrome中执行。因此过时的报道。

答案 1 :(得分:0)

您的代码执行返回pathfind的{​​{1}}函数(它应该是这样的),但是您等待undefined函数的结果。应该执行它而不是this.Init