it_vse (519823), страница 61
Текст из файла (страница 61)
location=" http: / /www. yahoo. com"; break;default : window.location="http://www.mcp.com"; }</SCRIPT> </BODY> </HTML>Математические функции, дата и время, работа со строкамиМатематические функции:Класс Math, который предоставляет некоторые полезные математические и тригонометрические функции.Пример:chislo1 = Math.min (100, 700); // Возвращает минимальное значения из двух чисел 100 и 700chislo2 = Math.max (100, 700); // Возвращает максимальное значения из двух чисел 100 и 700chislo3 = Math.abs (-3); // Возвращает абсолютное значение числаchislo4 = 10*Math.random ( ) + 1; // Возвращает случайное число от 1 до 10.chislo5 = Math.round (10.5); //Округление по правилам математики.
Результат = 11chislo6 = Math.floor(10.7); //Округление всегда в меньшую сторону. Результат = 10chislo7 = Math.ceil (10.3); //Округление всегда в большую сторону. Результат = 11chislo8 = Math.sqrt ( 4 ); //Квадратный корень из 4.chislo9 = Math.pow ( 7, 1/3 ); // Число 7 в степени 1/3chislo10 = Math.log ( 7 ); // Натуральный логарифм числа 7.chislo11 = Math.log ( 7 ) / Math.log ( 10 ); // Десятичный логарифм числа 7.chislo12 = Math.exp ( 7 ); // Экспонента числа 7, т.е. e7.
Существует константа Math.Echislo13 = Math.sin ( 3.14 ); // Синус. Угол задается в радианах. Радианы=градусы*Math.PI / 180.chislo14 = Math.cos ( Math.PI / 2 ); // Косинус. Угол задается в радианах.chislo15 = Math.tan ( 3.14 ); /* Тангенс. Существуют также методы asin(), acos(), atan(), означающиеарккосинус, арксинус и арктангенс, соответственно. */Дата и время:Для работы со значениями даты и времени можно воспользоваться следующими конструкциями:timer2 = new Date ();// Создание объекта "дата"vremya1 = timer2.getYear();// Получить число лет, прошедших с 1900 г, т.е.
для 2001 = 101vremya2 = timer2.getMonth();// Получить текущий месяц. Январь = 0, Февраль = 1 и т.д.vremya3 = timer2.getDate();// Получить текущую датуvremya4 = timer2.getHours();// Получить часыvremya5 = timer2.getMinutes();// Получить минутыvremya6 = timer2.getSeconds();// Получить секундыvremya7 = timer2.getDay();// Получить день недели: 0-воскресенье, 1-понедельник и т.д.timer2.setYear(102); // Установить 2002 годtimer2.setMonth(11); // Установить 12-й месяцtimer2.setDate(20);timer2.setHours(23);timer2.setMinutes(5);timer2.setSeconds(10);Работа со строками:Над строками можно выполнять некоторые функции, в результате которых создаются новые измененныестроки (примеры см.
ниже).komy = "вам" ; // или komy = new String("вам");summa = "Привет "+komy+"братья" ; Ляхевич А.Г., 2000 - 2002 годПереносить часть строки на новую строчку нельзя. В тексте строки нельзя использовать двойные илиодинарные кавычки и косую черту "\". Если же необходимо этими символами все-таки воспользоваться, топрименяют управляющие текстовые и восьмеричные константы:КонстантаЗначение\nперевод строки\fперевод формата\rвозврат каретки\"\u0022 двойная кавычка\'\u0027 одиночная кавычка\\\u005c обратная косая черта\007\u0007 звонок\101\u0041 буква"А"\071\u0039 цифра "9"Пример:primer = "На разных \n строках и \" в кавычках \" буква \110, со звонком \007"Ниже приведены примеры некоторых функций для работы со строками:stroka = “Это строка”; // создание строки strokaotvet = stroka.startsWith(‘Это’); /* переменная otvet будет true (истина), если строка начинается со слова“Это”, регистр учитывается */otvet = stroka.endsWith(‘строка); /* переменная ответ будет true (истина), если строка кончается словом“строка”, регистр учитывается */otvet = stroka.indexOf('о'); // переменная otvet будет содержать номер позиции первой буквы "о" в строкеotvet = stroka.indexOf('о',otvet+1); /* после того, как в предыдущем примере будет найдена первая буква "о",в этом примере поиск следующей буквы "о" в строке будетпродолжен, начиная со следующей после "o" позиции.
Так можнонайти все буквы "о", продолжая поиск до тех пор, пока otvet != 0*/otvet = stroka.lastIndexOf('о'); // тоже самое, что и indexOf('о'), но поиск начинается с конца строкиotvet = stroka.lastIndexOf('о', otvet-1 ); // аналогично примеру вышеotvet = stroka.indexOf('Это'); /* можно определять позицию не только отдельного символа, но и подстроки */bukva = stroka.charAt (3); /* в переменную bukva будет помещен 4-й символ строки (индекс первого символастроки = 0) */stroka2 = stroka.subString(4 ); /* выделение подстроки из строки "stroka", начиная с 5-ой позиции и до концастроки */stroka2 = stroka.subString(4, 9 ); /* выделение подстроки из строки "stroka", начиная с 5-ой и заканчивая 10-ойпозицией строки */stroka2 = stroka.replace('о', 'а'); // заменяет в строке все буквы "о" на букву "а"stroka2 = stroka.toUpperCase( ); // преобразует строку в верхний регистрstroka2 = stroka.toLowerCase( ); // преобразует строку в нижний регистрchislo=10; stroka = String.valueOf(chislo); // переводит практически любой тип данных в тип StringИспользование объекта event в обработчике событияОбъект event используется в JavaScript версии 1.2 и выше.
Это специальный объект, который отправляется вобработчик событий при возникновении любого события. Обработчик события получает этот объект в видепараметра. Свойства объекта event содержат данные о событии, которое произошло. Ниже приведен списоквсех свойств объекта event (для Microsoft Internet Explorer):• type. Это тип произошедшего события, например mouseover.• keyCode. Код нажатой пользователем клавиши.• altKey. Принимает значение true, если удерживается клавиша "alt" и false в противном случае.• ctrlKey.
Принимает значение true, если удерживается клавиша "ctrl" и false в противном случае.• shiftKey. Принимает значение true, если удерживается клавиша "shift" и false в противном случае.• button. Код нажатой кнопки мыши.• X и Y. Это координаты указателя мыши вдоль оси X и Y. Начало координат находится в левом верхнемуглу окна Web-браузера.• screenX и screenY. Это координаты указателя мыши вдоль оси X и Y. Начало координат находится влевом верхнем углу экрана.Пример использованиz объекта Event для определения нажатой клавиши:<HTML> <BODY onkeypress="window.alert('Вы нажали клавишу: '+String.fromCharCode(event.keyCode));"></BODY> </HTML> Ляхевич А.Г., 2000 - 2002 годСоздание пользовательских объектовВ JavaScript можно использовать встроенные объекты Web-браузера, аналогично тому, как это описывалосьв лекции поVBScript, а можно создавать и собственные объекты и даже добавлять новые свойства и методыво встроенные объекты Web-браузера.Создание собственного объекта происходит следующим образом:1) Задается функция-конструктор объекта, инициализирующий его свойства и методы.
Пример:function Cartochka ( name, address, telefon ) {this.name = name; this.address = address; this.telefon = telefon;this . printMetod = printMetod;}2) Описываются методы объекта, заданные в конструкторе. Пример:function printMetod ( ) {i=this.name+"<BR>"+this.adres+"<BR>"+this.telefon+"<BR>" ;document.writeln ( i ) ; }3) Создание экземпляра объекта. Пример:Ivan = new Cartochka ("Иван", "Мелитополь","555-00-00");4) Использование свойств и методов объекта.
Пример:Ivan.telefon = "03"; Ivan.printMetod();Полный текст соответствующего HTML-документа приведен ниже:<HTML> <BODY> <SCRIPT LANGUAGE="JavaScript">function printMetod ( ) {i=this.name+"<BR>"+this.adres+"<BR>"+this.telefon+"<BR>"document.writeln(i)}function Cartochka ( name, adres, telefon ) {this.name = name; this.adres = adres; this.telefon = telefon;this.printMetod = printMetod;}Ivan = new Cartochka ("Иван", "Мелитополь","555-00-00");Ivan.telefon = "03"; Ivan.printMetod();</SCRIPT> </BODY> </HTML>Создание иерархии подчиненных объектов реализуется аналогично Java: в конструкторе объекта верхнегоуровня записывается свойство, которое создает и указывает на объект нижнего уровня.
Таким образом,создавая объект верхнего уровня, автоматически создается вся иерархия подчиненных объектов. В приведенном ниже примере, объект верхнего уровня kniga1, содержит массив подчиненных объектов Cartochka:function Kniga ( ) {this . stranica = new Array(2);this . stranica[0] = new Cartochka ("Иван", "Мелитополь","555-00-00");this . stranica[1] = new Cartochka ("Петр", "Мелитополь","555-00-01");this . stranica[2] = new Cartochka ("Игорь", "Мелитополь","555-00-02");}kniga1 = new Kniga ( );kniga1. stranica[1].name = "Иванов";kniga1. stranica[1].printMetod();Настройка встроенных объектов Web-браузераДобавление свойств и методов в уже существующий встроенный объект проводится с помощью ключевогослова prototype (другими словами, создается прототип уже существующего объекта.
Prototype — это, вданном случае, название конструктора объекта.). Последовательность действий следующая:1) Описать функцию (переменную), которая станет новым методом (свойством) встроенного объекта.Пример:function Metod ( ) { document.writeln (" Этот метод добавлен ко встроенному объекту ! "); }Svoistvo = " Это новое свойство встроенного объекта ";2) Добавить метод (свойство) во встроенный объект, используя ключевое слово prototype.