Сообщение от Livanderiaamarum
|
но мой метод быстрее
|
С чего Вы взяли?
Встроенные функции работают достаточно быстро, и хоть первый раз мой алгоритм был не вполне адекватен, он быстрее Вашего, по крайней мере в IE) Но в FF медленнее ^_^
p.s.: IE неадекватен. Разница с FF во времени исполнения ппц.
/**********************************************************/
var timer = (new Date()).getTime();
for(var i = 0; i < 100000; i++) {
var x = "http://site.ru/load/38-1-0-138".split("-").pop();
}
alert((new Date()).getTime() - timer); // IE - 1109, FF - 75
/**********************************************************/
var timer = (new Date()).getTime();
for(var i = 0; i < 100000; i++) {
var x = "http://site.ru/load/38-1-0-138";
x = x.substring(x.lastIndexOf("-") + 1);
}
alert((new Date()).getTime() - timer); // IE - 375, FF - 11
/**********************************************************/
function lastNumber() {
var _url = "http://site.ru/load/38-1-0-138";
var _word = "-";
var start;
for(var i=_url.length-1; i >= 0; i--){
if(_url.charAt(i) == _word){
start = i;
break;
}
}
return _word = _url.slice(start+1);
}
//.........
var timer = (new Date()).getTime();
for(var i = 0; i < 100000; i++) {
lastNumber();
}
alert((new Date()).getTime() - timer); // IE - 1281, FF - 20
/**********************************************************/
var timer = (new Date()).getTime();
for(var i = 0; i < 100000; i++) {
var sa = 'http://site.ru/load/38-1-0-138'.match(/\d+$/)[0];
}
alert((new Date()).getTime() - timer); // IE - 1219, FF - 249