私は次のようなコードを持っています:
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にプッシュし、その値をログに記録すると、「undefined」が表示されます。しかし、いくつかのバグテストの後で、this.Loop();をコメントアウトすることに気づきました。this.Initを使用すると、pushが正しく機能し、console.logが[start]を正常に返します。いったいなぜこの行動が起こるのか誰かが説明できますか?
編集:私は呼んでいます
pathfind({x:2,y:2},{x:24,y:24},parsemap(25,25));