// 歌词同步
var cusS = 0;
function syncLyric(curS, formatTimeArr) {
curS = Math.floor(curS);
if (curS == formatTimeArr[lrcHighIndex]) {
Dom.lrc.eq(lrcHighIndex).addClass('current').siblings().removeClass('current');
if (lrcHighIndex >= 1) {
moveDis = Util.getMoveDis(lrcHighIndex - 2);
Dom.lrcwrap.animate({
"top": "-" + 0.46 * lrcMoveIndex + "rem"
});
lrcMoveIndex++;
}
lrcHighIndex++;
}
}
这是一段自己同步歌词的代码,每隔一秒执行一次syncLyric函数,想问一下如果我把外面的curS=0去掉,在syncLyric内部给curS加个var,会更耗性能吗?还是说没什么区别。?求解释
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我觉得区程序执行这个函数时遇到这个变量时会查找这个变量,相应的就会查找作用域链,先查找自身内部的若有则使用,若没有则继续向作用域链上层查找,直到查到,若找到最上层还未查到,则返回未定义。所以写里面会少一步向上层查找的步骤,应该会影响性能吧
把外面的curS=0去掉!
这个变量在这里没有意义,因为
syncLyric函数根本不会访问到它。内部给curS加个var,会更耗性能吗?
按我理解,
syncLyric执行时会声明两个参数curS, formatTimeArr,不加var那就是对curs的赋值,加var就是重复声明后赋值,会覆盖前面的。所以最终函数的活动对象不会变。你要说有没性能消耗,我觉得覆盖肯定应该有的一丢丢的,但可忽略不计。