我試圖運行這段代碼時出現「無法將undefined轉換爲對象」錯誤。我不是程序員,幾乎沒有代碼,因此我的問題可能是非常愚蠢的/無法回答的,我對此深表歉意。Java腳本錯誤 - 無法將undefined轉換爲對象
代碼:
if (path == F[0])
{
//go N
if (pointAy > 0)
{
if (!(PS.BeadData(pointAx, pointAy - 1) === "blocked"))
{
// Set bead to Previous State
PS.BeadColor(pointAx, pointAy, previous_bead_NPC[NPCid][2]);
PS.BeadData(pointAx, pointAy, 0);
PS.BeadGlyph(pointAx, pointAy, " ");
// Increment
pointAy -= 1;
// Place NPC
MakeNPC(pointAx, pointAy, NPC[NPCid][2], NPC[NPCid][3], NPC[NPCid][4], NPC[NPCid][5], 1);
}
}
}
真的不能告訴這是否足以找到答案你 - 我可以發佈更多的代碼,如果這將有助於。
也許有一些普通的答案,這樣的錯誤是一個正常的程序員會知道的,但像我這樣的noob會不知情?
UPDATE 好吧,通過一步一步的執行,我發現錯誤在不同的函數中彈出,即使禁用上面的一段代碼也不會彈出錯誤。這是使錯誤彈出功能:
PS.Tick = function()
{
"use strict";
for (var NPCid = 0; NPCid < 10; NPCid++)
{
NPCAI(NPCid);
};
};
該功能被稱爲每秒鐘它調用AI的邏輯功能,通過提供NPCid到AI功能的網格上移動10個NPC。腳本在這裏失敗,但並非總是如此 - 通常一個或兩個NPC會邁出一步,然後纔會失敗。
哪條線路出現此錯誤? – 2012-07-08 12:48:23
可能是'PS'是'undefined'。 – Pointy 2012-07-08 12:54:03
PS被定義......我想。它是我沒有寫的引擎的一部分,它可以在其他地方使用。 – DerpTomi 2012-07-08 12:58:34