Лекции (989962), страница 61
Текст из файла (страница 61)
Результатом является число, полученное всоответствии с таблицей истинности для ИЛИ. Пример:x: 00001010 = 10y: 00001100 = 12Результат: 00001110 = 14Поразрядная операция И (AND).x^yПоразрядная операция исключающее ИЛИ (XOR).~x&=,Поразрядное логическое отрицание НЕ (NOT).|=, ^=x||yПоразрядные операции с присваиванием: x&=y аналогично x=x&yx && yЛогическая операция ИЛИ (OR). В отличие от поразрядных операций, результатлогической операции не число, а только значение ИСТИНА или ЛОЖЬ. Именнологические операции используются в конструкциях IF..ELSE и др.Логическая операция И (AND).!xЛогическая операция НЕ (NOT).-xУнарная операция "изменение знака".x<<2Поразрядный сдвиг битов влево: сдвинуть биты переменной х на 2 бита влево.
Пример:00000001 (двоичное) <<2 дает 00000100 (двоичное).Поразрядный сдвиг вправо, поразрядный сдвиг вправо без знака.>>, >>><<=, >>=, >>>= Поразрядный сдвиг с присваиванием.Циклы и управляющие операторы.Оператор if - else:Синтаксис:if (выражение) {операторы;} else {операторы; }Пример:1) if ( x==2 && x!=3 ) { /*операторы выполняются если x равен 2 и не равен 3*/ } else { /*операторы */ }2) if (x==2) { /*операторы */ }Оператор whileСинтаксис:1) while (выражение) {операторы;}2) do {операторы;} while (выражение);Пример:1) while(x==2 && x!=3) { x++; /* и др.
операторы - выполняются пока x равен 2 и не равен 3 */ }2) do { /*операторы */ } while (x==2);Операторы forСинтаксис:1) for (счетчик=исходное_значение; (условие_остановки); шаг ) { /*операторы */ }Пример:1) for (i=0, j=10; ( ( i >100 ) | | yslovie_J ( ) ); i++, raschet_J ( ) ) { /*операторы */ } Ляхевич А.Г., 2000 - 2002 год2) for (i=0; i==100; i++) {/*операторы */ }Операторы switchСинтаксис:switch (переключатель) {case значение1 : оператор1; операторN; break;case значениеN: оператор1; операторN; break;default: оператор1; операторN; break;}Пример:<HTML> <BODY> <SCRIPT LANGUAGE="JavaScript">where = window.prompt("Куда заглянем сегодня?");switch (where) {case "Netscape" : window.location="http://www.netscape.com"; break;case "Microsoft" : window.location="http://www.microsoft.com"; break;case "Yahoo" : window.
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.