2011-04-14 95 views
0

如何獲得錯誤消息以解決問題的好方法?錯誤消息:timetotal未定義。js未定義錯誤

$(document).ready(function() { 
    if (typeof(timeleft) !== 'undefined') { 
     Chrono.update(); 
    } 
    $('a.add_other_answer').click(function() { 
     addAnswer(); 
    }); 
}); 

Chrono = { 
    warning: timetotal * 0.25, 
    critical: timetotal * 0.05, 

    update: function() { 
    ... 
    ... 
+0

我們需要一些更多的代碼,其中定義'timetotal'? – Olical 2011-04-14 09:43:25

+0

@ Wolfy87:看起來不是;)@lander:你必須在某處定義'timetotal' ... – 2011-04-14 09:44:32

回答

2

這似乎很明顯,即使你的代碼示例不完整。

timetotal在這一行最有可能的不確定的,因爲它是爲對象Chrono的屬性傳遞:

warning: timetotal * 0.25, 

你最有可能在你的Chrono.update方法遞增timetotal,但爲時已晚:在財產應該有一個初始值,如果你想乘以0.250.05

解決方案:

var timetotal = 0; 

Chrono = { 
    warning: timetotal * 0.25, 
    critical: timetotal * 0.05, 
+0

*編輯:我看你已經修好了......;)* * Edit2:*最後一個例子贏了'因爲'this'不會指'Chrono',而可能指'windows'。 * Edit3:*這將不起作用,因爲當執行Chrono.timetotal * 0.25時,Chrono沒有被定義;)(定義另一個屬性時無法訪問對象的屬性)。 – 2011-04-14 09:48:40

+0

@Felix在你的評論和編輯我的文章之前注意到了它)*編輯*:修正了第二個錯誤,現在也是!衛生署! :) – 2011-04-14 09:50:05

+0

的確,謝謝! – lander 2011-04-14 09:50:44