下面的函数不能被调用,说57line;少‘(’,那个高手给修改修改啊
function get( lyrics ){
var l= lyrics;
var reg_soundname =/\[ti:(.+?)\]/i;
var reg_singer=/\[ar:(.+?)\]/i;
var reg_CD =/\[al:(.+?)\]/i;
var reg_maker =/\[(by:.+?)\]/i;
var arr_soundname = l.match(reg_soundname);
var arr_singer = l.match(reg_singer);
var arr_CD= l.match(reg_CD);
var arr_maker = l.match(reg_maker);
var info= " ";
if (arr_soundname != null)
{
info += ":" + arr_soundname[1] + " ";
}
if (arr_singer != null)
{
info += ":" + arr_singer[1] + " ";
}
if (arr_CD != null)
{
info += ":" + arr_CD[1] + " ";
}
if (arr_maker != null)
{
info += arr_maker[1] + " ";
}
var reg_take =/\[\d\d:\d\d\.\d\d\].*/g;
var arr_lyrics = l.match(reg_take);
var reg_replacetime =/(\[\d\d:\d\d\.\d\d\])+/g;
var reg_gettimes =/\[\d\d:\d\d\.\d\d\]/g;
var reg_readtime =/\[(\d\d):(\d\d\.\d\d)\]/;
var reg_dis =/ $/;
var arr_splitedLyrics = new Array();
var arr_info = [0, info];
arr_splitedLyrics.push(arr_info);
for each( var ly in arr_lyrics )
{
var arr_tmptime= ly.match(reg_gettimes);
ly = ly.replace(reg_replacetime, "");
for (var i= 0; i < arr_tmptime.length; i++)
{
var arr_single= new Array();
var t = arr_tmptime[i];
var min = t.replace(reg_readtime, "$1");
var sec = t.replace(reg_readtime, "$2");
var time = Number(min) * 60 + Number(sec);
arr_single[0] = time;
if (!reg_dis.test(ly))
{
ly += " ";
}
arr_single[1] = ly;
arr_splitedLyrics.push(arr_single);
}
}
arr_splitedLyrics.sortOn("0", Array.NUMERIC);
return arr_splitedLyrics;
}
[b]问题补充:[/b]
js有调试工具吗??
谁给推进一个好的啊?
Javascript里面没有foreach语句.只有for语句,但可以实现foreach的效果.
把报错行的foreach改为for就可以了..
Ps:....就算是foreach,中间也没有空格吧.... - -
用调试工具调试一下,页面报的js经常出很怪异的问题,用调试工具的话可以真正找到问题的所在
firebug,最好的js调试工具,或者ie的vs系列,功能也很强大
火狐的firebug调试工具
用Firefox + Firebug 吧
这么长代码 一点注释都没有
用firebug一点一点跟踪调试吧
调试工具有很多,在网上搜索一下吧,用得比较多的是firefox的firebug,还有就是word中自带的脚本调试器,装个.net也可以调试,不过是大材小用,呵呵