Учитывая эту функцию:
function doThing(values,things){
var thatRegex = /^http:\/\//i; // is this created once or on every execution?
if (values.match(thatRegex)) return values;
return things;
}
Как часто JavaScript-движок должен создавать регулярное выражение? Один раз за выполнение или один раз на загрузку страницы / script разбор?
Чтобы избежать ненужных ответов или комментариев, я лично предпочитаю использовать регулярное выражение вне функции, а не внутри. Речь идет о поведении языка, потому что я не уверен, где искать это, или если это проблема с двигателем.
EDIT:
Мне напомнили, что я не упоминал, что это будет использоваться в цикле. Мои извинения:
var newList = [];
foreach(item1 in ListOfItems1){
foreach(item2 in ListOfItems2){
newList.push(doThing(item1, item2));
}
}
Поэтому, учитывая, что он будет использоваться много раз в цикле, имеет смысл определить регулярное выражение вне функции, но так, чтобы идея.
также обратите внимание, что script довольно обобщен с целью изучения только поведения и стоимости создания регулярных выражений