JavaScript 代码错误 'trim of undefined' 解决方法
根据代码,判断问题可能出现在以下几个地方:
- 第三行代码中的
line变量没有被正确赋值或者不存在; - 第四行代码中的
timeLyric变量没有被正确赋值或者不存在; - 第五行代码中的
time变量没有被正确赋值或者不存在; - 第六行代码中的
minute变量没有被正确赋值或者不存在; - 第七行代码中的
second变量没有被正确赋值或者不存在; - 第八行代码中的
seconds变量没有被正确赋值或者不存在; - 第十行代码中的
lyric变量没有被正确赋值或者不存在; - 如果前面的问题都没有出现,那么问题可能出现在
lyric变量是否已经被正确赋值。
因此,需要检查以上几个变量是否存在,并且在第十行代码之前,确保 lyric 变量已经被正确赋值。例如:
var timeLyric = line.split(']'); //取出时间并转成毫秒数
var time = timeLyric[0].trim().replaceAll('[', '');
var minute = parseInt(time.split(':')[0]);
var second = parseFloat(time.split(':')[1]);
var seconds = minute * 60 * 1000 + second * 1000;
//取出歌词
var lyric = timeLyric[1] ? timeLyric[1].trim() : '';
if (lyric === '') {
continue; //跳过该行歌词
}
这样就可以避免 lyric 变量未被正确赋值的问题。同时,可以添加一个条件判断,如果 timeLyric[1] 不存在,将 lyric 变量赋值为空字符串,避免出现 trim of undefined 错误。
原文地址: https://www.cveoy.top/t/topic/oReV 著作权归作者所有。请勿转载和采集!