Javascript js未定义错误

Javascript js未定义错误,javascript,jquery,Javascript,Jquery,如何以一种好的方式获得错误消息?错误消息:未定义timetotal $(document).ready(function() { if (typeof(timeleft) !== 'undefined') { Chrono.update(); } $('a.add_other_answer').click(function() { addAnswer(); }); }); Chrono = { warning: time

如何以一种好的方式获得错误消息?错误消息:未定义timetotal

 $(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() {
    ...
    ...

这似乎是不言自明的,即使您的代码示例不完整

timetotal
很可能在此行未定义,因为它是作为对象的属性传递的
Chrono

warning: timetotal * 0.25,
Chrono.update
方法中,您很可能正在递增
timetotal
,但这太晚了:如果要将该属性与
0.25
0.05
相乘,则该属性应该具有初始值

解决方案:

var timetotal = 0;

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

我们还需要一些代码,
timetotal
定义在哪里?@Wolfy87:似乎没有;)@着陆器:你必须在某处定义
timetotal
编辑:我看你已经修好了…;)Edit2:最后一个示例不适用于
将不涉及
Chrono
,但可能涉及
windows
。Edit3:这也不起作用,因为当执行
Chrono.timetotal*0.25
时,
Chrono
尚未定义;)(在定义另一个属性时无法访问对象的属性)。@Felix在您的评论之前注意到了它并编辑了我的帖子:)编辑:现在也修复了第二个错误!Doh!:)请参见我评论中的第三次编辑;)但是我还是+1:)哈哈,显然需要再来一杯浓缩咖啡。我将一起删除第二个示例,并跳过今天的JS编程。谢谢你的提示。@Aronrottevel::祝你今天愉快:)