我的代码看起来像这样:
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();
}
出于某种原因,当我将“开始”推送到 this.open_node 并记录它的值时,我得到“未定义”。但是,经过一些错误测试后,我意识到注释掉 this.Loop(); 在 this.Init 中,push 正常运行,console.log 按原样返回 [start]。谁能解释为什么会发生这种行为?
编辑:我打电话
pathfind({x:2,y:2},{x:24,y:24},parsemap(25,25));