
- •Var имя_переменной:
- •Var myName пример js6
- •Integer
- •InternetAddress
- •Internetaddress
- •Приоритеты выполнения операций
- •If (условие1) {
- •Операторы цикла
- •Var column,row;
- •Var column,row;
- •Var objArr;
- •ValueOf()
- •Var myArr, c;
- •Var timeStr;
- •Var Spoint;
- •Регулярные выражения: пример 30
- •Работа с регулярными выражениями
- •Методы класса RegExp
- •Var result, re, str;
- •Свойства глобального объекта RegExp.
- •Var re, str, protocol, address, filename, result;
- •Regular Expressions
- •Метасимволы
- •Классы символов
- •Квантификаторы
- •Action в javascript
- •Использование Action в javascript.
- •Свойство method.
- •Использование свойства method в js.
- •Заключение.
Var Spoint;
Spoint = new Point();
var result = Spoint.Test(...);
Пример Js33g
Добавление свойств в класс:
Point.prototype.radius = 2;
Пример Js33k
Использование прототипа позволяет использовать наследование:
function SuperPoint(x, y, color, radius, grColor)
{
this.base = Point;
this.base(a, b, color); // нужно вызвать функцию которая является конструктором
this.radius = radius || 1;
this.grColor = grColor || "black";
}
……………………………………….
SuperPoint.prototype = new Point();
var obj;
obj = new SuperPoint();
obj.radius = 20; // доступ к свойсват obj
var a = obj.x + 20;
Пример Js33l
В этом примере класс SuperPoint наследуется от класса Point, при этом создав объект нового супер класса мы можем получить доступ к переменным объявленным в родительском классе.
Переопределение методов:
function Test2() {return false; }
function SuperPoint(x, y, color, radius, grColor)
{
this.base = Point;
this.base(a, b, color); // нужно вызвать функцию которая является конструктором
this.Test = Test2;
}
Здесь переопределён метод this.Test из родительского класса на метод Test2.
Пример Js33m
Класс Object
ПРИМЕР 25
Объект Object - это базовый объектный тип, все классы наследуют свойства и методы класса Object.
prototype – ссылка на прототип класса объектов.
constructor – возвращает ссылку конструктора класса.
Например:
if (obj.constructor == Point) { //что-то сделать };
Методы класса Object
eval(строка) – преобразует строку в число
toLocaleString(строка) – Преобразует объект в строку с учетом формата операционной системы
toSource() – возвращает строку, которая использовалась для создания объекта.
toString(объект) – преобразует объект в строку
valueOf(объект) – возвращает значение объекта
Регулярные выражения: пример 30
Регулярные выражения являются шаблонами, используемыми при поиске совпадений комбинаций символов в строках для редактирования. В JavaScript регулярные выражения являются также объектами. Эти шаблоны используются вместе с методами exec и test объекта RegExp и с методами match, replace, search и split объекта String. Регулярные выражения пишутся с использованием специального синтаксиса с зарезервированными литералами, которые и позволяют сформировать шаблон для поиска и разбора. При формировании резулярное выражение записывается в слэшах /.
Литералы:
Символ |
Значение |
\ |
Означает, что следующий символ не литерал. |
^ |
Соответствует началу строки. Например, /^A/ не совпадает с 'A' в строке "an A", но совпадает с первым 'A' в строке "An A". Js79 |
$ |
Соответствует концу строки. Например, /t$/ не совпадает с 't' в строке "eater", но совпадает с в строке "eat". Js80 |
* |
Предшествующий символ встречается в сторке 0 или более раз. Например, /bo*/ совпадает с 'boooo' в строке "A ghost booooed" и с 'b' в "A bird warbled". Js81 |
+ |
Предшествующий символ встречается в строке 1 или более раз, это эквивалентно {1,}. Например, /a+/ совпадает с 'a' в "candy" и со всеми 'a' в "caaaaaaandy". Js82 |
? |
Предшествующий символ встречается 0 или 1 раз. Например, /e?le?/ совпадает с 'el' в "angel" и с 'le' в "angle." Js83 |
. |
(Десятичная точка) совпадает с любым одиночным символом, стоящим не в начале строки. Например, /.n/ совпадает с 'n' в 'an' и 'on' в "nay, an apple is on the tree", но не в 'nay'. Js84 |
(x) |
Совпадает с 'x' (с выражением в скобках) и запоминает совпадение. Это называется "захватывающие скобки". Например, /(foo)/ совпадает с 'foo' в "foo bar", и запоминает его. Js85 |
x|y |
Ищется один из двух символов, т.е. совпадает с 'x' или 'y'. Например, /green|red/ совпадает с 'green' в "green apple" и с 'red' в "red apple." Js86 |
{n} |
Здесь n - это положительное целое. Предшествующий символ должен встретиться в строке n раз. Например, /a{2}/ не совпадает с 'a' в "candy," но совпадает со всеми 'a' в "caandy" и с первыми двумя 'a' в "caaandy." Js87 |
{n,} |
Здесь n это положительное целое. Предшествующий символ должен встретиться в строке не менее n раз, т.е. совпадает с как минимум n вхождениями предшествующего символа. Например, /a{2,} не совпадает с 'a' в "candy", но совпадает со всеми 'a' в "caandy" и в "caaaaaaandy." Js88 |
{n,m} |
Здесь n и m это положительные целые. Предшествующий символ должен встретиться в строке не менее n и не более m раз, т.е совпадает с минимум n и с максимум m вхождений предшествующего символа. Например, /a{1,3}/ не совпадает ни с чем в "cndy", совпадает с 'a' в "candy", с первыми двумя 'a' в "caandy" и с первыми тремя 'a' в "caaaaaaandy". Js89 |
[xyz] |
Ищется символ из заданного набора, т.е. проверяется совпадение с одним из символов в скобках. Можно специфицировать диапазон символов с помощью дефиса. Например, [abcd] это то же самое, что и [a-d]. Совпадает с 'b' в "brisket" и с 'c' в "ache". Js90 |
[^xyz] |
Ищется символ, не совпадающий с тем, что заключено в скобках. Можно специфицировать диапазон символов с помощью дефиса, например, [^abc] это то же самое, что [^a-c]. Совпадает с 'r' в "brisket" и с 'h' в "chop." Js91 |
\b |
Совпадает на правой границе слова перед пробелом или переводом строки. Например /ke\b/ совпадает с 'ke' в "make some" но не в "make". Js92 |
\B |
Совпадает не на границе слова. Например, /\w\Bn/ совпадает с 'on' в "noonday", а /y\B\w/ совпадает с 'yb' в "possibly yesterday." Js93 |
\cX |
Где X это управляющий символ. Совпадает с управляющим символом вида "Ctrl"+"X". Например, /\cM/ совпадает с control+M в строке. |
\d |
Любая цифра от 0 до 9, эквивалентно [0-9]. |
\D |
Любой не цифровой символ. Эквивалентно [^0-9]. |
\f |
Управляющий символ перевода страницы (form feed). |
\n |
Управляющий символ перевода строки (line feed). |
\r |
Управляющий символ возврата каретки (перевод в начало строки, carriage return). |
\s |
Одиночный пробельный символ, включая space, tab, form feed, line feed. Например, /\s\w*/ совпадает с ' bar' в "foo bar." Js94 |
\S |
Одиночный символом, отличный от любого пробельного символа. |
\t |
Табуляция (tab). |
\w |
Любой алфавитно-цифровой символ, включая символ подчёркивания (underscore). Эквивалентно [A-Za-z0-9_]. |
\W |
Любой символ, не являющимся алфавитно-цифровым. Эквивалентно [^A-Za-z0-9_]. |
\{n} |
Извлекает из памяти сохраненную ранее группу символов с заданным номером. |
Регулярные выражения могут иметь три опции-флага, дающие возможность выполнять глобальный и нечувствительный к регистру поиск. Для глобального поиска используйте флаг g. Для поиска без учёта регистра используйте флаг i. Для многострочного поиска - флаг m. Эти флаги могут использоваться независимо или вместе в любом порядке и являются частью регулярного выражения. Они передаются в качестве значений параметров в соответствующие функции и методы для разбора строки.
Примеры регулярных выражений.
1. Текст:
"Привет, меня зовут Маша".
Регулярное выражение /Маша/ будет соответствовать строчке "Маша" из текста.
Пример Js95
2. Текст:
"Привет, я ищу новые КНИГИ" или "Привет, я ищу новые книги"
Регулярное выражение /книги/i будет соответствовать строчке "КНИГИ" в первом тексте, и "книги" во втором тексте.
Пример Js96
3. В нижеследующем тексте нужно выделить все фрагменты в которых есть буква "а" и по одному символу до и после нее:
sales1.xls
sales2.xls
order3.xls
sales3.xls
apac1.xls
ha1.xls
ha2.xls
sa1.xls
ram.xls
Регулярное выражение: /.a./
Пример Js97
4. В этом же тексте :
/.a.\.xls/ соответствует любому фрагменту, в который входит набор из трех символов, в середине которого стоит символ a, затем стоит точка после которой идет набор символов xls, т.е. любому из фрагментов ha1.xls, ha2.xls, sa1.xls, ram.xls.
. Пример Js98
/[hs]a.\.xls/ - соотвествует ha1.xls, ha2.xls, sa1.xls .
. Пример Js99
/^..\d/ - соотвествует, например, именам файлов начинающимся с любых двух символов и цифры.
. Пример Js100
/[hs]a[0-9]\.xls/ - аналогично /[hs]a.\.xls/, только после буквы "а" должна стоять цифра.
. Пример Js101
5. Чтобы найти любой цвет записанный в коде HTML в форме #rrggbb, где r, g, b – шестнадцатеричные числа, нужно воспользоваться регулярным выражением -
/#[0-9A-Fa-f]{6}/.
{6} означает что символов должно быть 6 штук.
. Пример Js102
6. Регулярное выражение /\r\n\r\n/ - совпадает с пустой строкой (двойное нажатие клавиши ENTER).
7. Чтобы найти в тексте адрес электронной почты в виде xxx@xxxxx.xxx или xxxx.xxxx@xxxxxx.xxx нужно воспользоваться регулярным выражением
/\w+(\.?\w+)?@\w+\.\w+/.
. Пример Js103
8. Найти в тексте WEB-адрес:
/(\w+:\/\/)?([^/]+)(.*)?/
. Пример Js104
Здесь строка разбивается на три части, которые сохраняются в виде групп символов.
Первая группа соответствует записи протокола, ее может не быть.
Вторая группа соответствует доменному имени - это любая последовательность символов, не содержащая символа /.
Третья группа соответствует имени файла, она тоже может отсутствовать.
9. Найти в тексте последовательность символов filexxxxxxxxxxxxx.txt или Filexxxxxxxxx.txt.
Регулярное выражение: /[fF]ile.*\.txt/
. Пример Js105
Здесь ищется последовательность из одного из символов "f" или "F", строки "ile", затем может стоять (или нет) любой символ сколько угодно раз, затем должна стоять точка и последовательность символов "txt".