Регулярные выражения. В JavaScript есть несколько способов проверить, удовлетворяет ли строка заданному шаблону:
В JavaScript есть несколько способов проверить, удовлетворяет ли строка заданному шаблону:
// 1. Объявляем объект в виде регулярного выражения
var RegExp = '/script/gi';
// и ищем в элементе массива совпадение с заданным шаблоном
items[i].nodeName.search(RegExp);
// 2. можно просто проверять соответствие строке,
// а не искать индекс подстроки
items[i].nodeName.match(RegExp);
// 3. Можно обойтись без объявления самого регулярного выражения
items[i].nodeName.match(/script/gi);
// 4. Можно задавать регулярное выражение без глобального модификатора,
// ведь мы ищем любое (=первое) совпадение шаблона
items[i].nodeName.match(/script/i);
// 5. С тем же успехом мы можем выполнить шаблон
/script/i.exec(items[i].nodeName);
// 6. Наконец, можно протестировать сам шаблон на нахождение в строке
/script/i.test(items[i].nodeName);
Давайте рассмотрим, что из них работает быстрее всего. Для этого запустим немного модифицированный набор тестов из раздела выше (опять по 10000 раз для всего DOM‑дерева). Получим следующие результаты:
Браузер
Search
Match
«На лету»
Локальный
Exec
Test
Firefox 3.0.3
Safari 3.1.2
Opera 9.61
IE 6
IE 7
IE 8b2
Дата добавления: 2015-05-19; просмотров: 780;