如何在javascript中对不存在的变量进行计算?

时间:2016-06-19 13:24:06

标签: javascript error-handling runtime-error html5-audio

我正在使用javascript制作自定义音频播放器。在这里,我需要知道缓冲的数据量。为此,我使用以下代码:

$("#active-song")[0].addEventListener('loadedmetadata', function() {    

    $("#active-song")[0].addEventListener('progress', function() {
        songs.duration = $("#active-song")[0].duration ;
        var buff786 =  $("#active-song")[0].buffered.end(0);    
        var percent-buffered = (buff786/songs.duration) * 100;          
        $(".song-progress .current-progress").css("width", percent-buffered + "%");
    });
});

问题是在发生任何事情之前我在控制台中出错。该错误存在,因为当浏览器解析javascript代码时,歌曲尚未被缓冲。所以var buf786仍未定义,我收到错误:Uncaught SyntaxError: Unexpected token。我尝试了许多aliters,例如:

var buff786 =  $("#active-song")[0].buffered.end(0);
if (buff786 == undefined) {
  buff786 = 1;
}
var percent-buffered = (buff786/songs.duration) * 100;   

我仍然得到错误。那么我该如何绕过这个错误呢。我可以在javascript中解析像non-existing-random + 100这样的表达式吗?

0 个答案:

没有答案