2011-04-14 55 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