Методический анализ темы "JavaScript"
01 Декабря 2010, автор: пользователь скрыл имя
Описание работы
Актуальность данной темы заключается в том, что в настоящее время большинство преподавателей подготавливаясь к своим лекциям, составляют опорные конспекты, перерабатывают материал и выстраивают его, таким образом, чтоб учащиеся его лучше усвоили. Проанализировав материал, преподаватель сам начинает лучше ориентироваться в нём.
Файлы: 1 файл
курсач.doc
— 311.00 Кб (Скачать файл) localURL
= "file:///C:/department/
Разрежем
строку в местах вхождения комбинации
символов ":/", выполнив команду: b
= localURL.split(':/'). Получим массив:
b[0] = "file";
b[1] = "//C";
b[2]
= "department/internet/js/2/2.
Заменяем
0-й и 1-й элементы на требуемые:
b[0] = "http:";
b[1]
= "/www.intuit.ru";
Наконец,
склеиваем полученный массив, вставляя
косую черту в местах склейки:
globalURL = b.join("/"). В итоге мы получаем
требуемый глобальный URL — значение globalURL
будет равно: http://www.intuit.ru/
Метод reverse()
Метод
reverse() применяется для изменения порядка
элементов массива на противоположный.
Предположим, массив натуральных чисел
упорядочен по возрастанию:
a
= new Array('мать','видит','дочь');
Упорядочим
его обратном порядке, вызвав метод
a.reverse(). Тогда новый массив a будет содержать:
a[0]='дочь';
a[1]='видит';
a[2]='мать';
Метод
sort()
Метод
sort() интерпретирует элементы массива
как строковые литералы и сортирует массив
в алфавитном (т.н. лексикографическом)
порядке. Обратите внимание: метод sort()
меняет массив. В предыдущем примере, применив
a.sort(), мы получим на выходе:
a[0]='видит';
a[1]='дочь';
a[2]='мать';
Однако, это неудобно, если требуется отсортировать числа, поскольку согласно алфавитному порядку 40 идет раньше чем 5. Для этих целей у метода sort() имеется необязательный аргумент, являющийся именем функции, согласно которой требуется отсортировать массив, т.е. в этом случае вызов метода имеет вид: a.sort(myfunction). Эта функция должна удовлетворять определенным требованиям:
- у нее должно быть ровно два аргумента;
- функция должна возвращать число;
- если первый аргумент функции должен считаться меньшим (большим, равным) чем второй аргумент, то функция должна возвратить отрицательное (положительное, нуль) значение.
Например,
если нам требуется сортировать
числа, то мы можем описать следующую
функцию:
function compar(a,b)
{
if(a < b) return -1;
if(a > b) return 1;
if(a == b) return 0;
}
Теперь,
если у нас есть массив b = new Array(10,6,300,25,18);,
то можно сравнить результаты сортировки
без аргумента и с функцией compar в качестве
аргумента:
document.write("
document.write(b.sort())
document.write("<BR>
document.write(b.sort(
В
результате выполнения этого кода получим
следующее:
Алфавитный порядок:
10,18,25,300,6
Числовой порядок:
6,10,18,25,300
Обратите внимание: метод sort() интерпретирует элементы массива как строки (и производит лексикографическую сортировку), но не преобразует их строки. Если в массиве были числа, то они числами и останутся. В этом легко убедиться, если в конце последнего примера выполнить команду document.write(b[3]+1): результат будет 26 (т.е. 25+1), а не 251 (т.е. "25"+1).
Урок №4
Тема:
Объекты
Объект — это главный тип данных JavaScript. Любой другой тип данных имеет объектовую "обертку" (wrapper). Это означает, что прежде чем можно будет получить доступ к значению переменной того или иного типа, происходит конвертирование переменной в объект, и только после этого выполняются действия над значением. Тип данных Object сам определяет объекты.
В сценарии JavaScript могут использоваться объекты нескольких видов:
клиентские объекты, входящие в модель DOM, т.е. отвечающие тому, что содержится или происходит на Web-странице в окне браузера. Они создаются браузером при разборе (парсинге) HTML-страницы. Примеры: window, document, location, navigator и т.п.
- серверные объекты, отвечающие за взаимодействие клиент-сервер. Примеры: Server, Project, Client, File и т.п. Серверные объекты в этом курсе рассматриваться не будут.
- встроенные объекты. Они представляют собой различные типы данных, свойства, методы, присущие самому языку JavaScript, независимо от содержимого HTML-страницы. Примеры: встроенные классы объектов Array, String, Date, Number, Function, Boolean, а также встроенный объект Math.
- пользовательские объекты. Они создаются программистом в процессе написания сценария с использованием конструкторов типа объектов (класса). Например, можно создать свои классы Cat и Dog. Создание и использование таких объектов будет рассмотрено далее в этой лекции.
Операторы работы с объектами
for ... in ...
Оператор
for(переменная in объект) позволяет "пробежаться"
по свойствам объекта. Рассмотрим пример
(об объекте document см. ниже):
for(v in document)
document.write("document."+v+" = <B>"+ document[v]+"</B><BR>");
Результатом
работы этого скрипта будет длинный
список свойств объекта document, мы приведем
лишь его начало (полностью получите его
самостоятельно):
alinkColor = #0000ff
bgColor = #ffffff
mimeType = HTML Document
defaultCharset = windows-1251
lastModified = 07/16/2002 21:22:53
onclick = null
links = [object]
...
Примечание Попробуйте запустить этот скрипт в разных браузерах — и Вы увидите, что набор свойств у объекта document различный в различных браузерах. Аналогичная ситуация со многими объектами модели DOM, о которой пойдет речь ниже. Именно поэтому приходится постоянно заботиться о так называемой кроссбраузерной совместимости при программировании динамических HTML-документов.
with
Оператор
with задает объект по умолчанию для блока
операторов, определенных в его теле. Синтаксис
его таков:
with
(объект) оператор;
Все
встречающиеся в теле этого оператора
свойства и методы должны быть либо
записанными полностью, либо они
будут считаться свойствами и
методами объекта, указанного в операторе
with. Например, если в документе есть форма
с именем anketa, а в ней есть поля ввода с
именами age и speciality, то мы можем воспользоваться
оператором with для сокращения записи:
with (document.anketa)
{
age.value=35;
speciality.value='программист'
window.alert(length);
submit();
}
Здесь age.value есть сокращенное обращение к document.anketa.age.value, length есть краткая запись свойства document.anketa.length (означающего число полей в форме), submit() есть краткая запись метода document.anketa.submit() (отсылающего введенные в форму данные на сервер), тогда как метод window.alert() записан полностью и не относится к объекту document.anketa.
Оператором
with полезно пользоваться при работе с
объектом Math, используемым для доступа
к математическим функциям и константам.
Например, внутри тела оператора with(Math)
можно смело писать: sin(f)*cos(h+PI/2); без оператора
with пришлось бы указывать Math три раза:
Math.sin(f)*Math.cos(h+Math.
Урок №5
Тема:
Операторы языка
Рассмотрим операторы JavaScript. Основное внимание при этом мы уделим операторам декларирования и управления потоком вычислений. Без них не может быть написана ни одна JavaScript-программа.
Общий перечень этих операторов выглядит следующим образом (сразу оговоримся, что этот список неполный):
{...}
if ... else ...
()?
while
for
break
continue
return
{...}
Фигурные скобки определяют составной оператор JavaScript — блок. Основное назначение блока — определение тела цикла, тела условного оператора или функции.
if ... else ...
Условный
оператор применяется для ветвления
программы по некоторому логическому
условию. Есть два варианта синтаксиса:
if
(логическое_выражение)
if
(логическое_выражение)
Логическое
выражение — это выражение, которое
принимает значение true или false. В первом
варианте синтаксиса: если логическое_выражение
равно true, то выполняется указанный оператор.
Во втором варианте синтаксиса: если логическое_выражение
равно true, то выполняется оператор_1, если
же оно равно false оператор_2.
if (navigator.javaEnabled())
alert('Ваш браузер
else
alert('Ваш браузер НЕ
()?
Этот
оператор, называемый условным выражением,
выдает одно из двух значений в зависимости
от выполнения некоторого условия. Синтаксис
его таков:
(логическое_выражение)? значение_1 : значение_2
Если
логическое_выражение равно true, то возвращается
значение_1, в противном случае значение_2.
Условное выражение легко имитируется
оператором if...else, однако оно позволяет
сделать более компактным и легко воспринимаемым
код программы. Например, следующие два
фрагмента равносильны:
TheFinalMessage = (k>5)? 'Готово!' : 'Подождите...';
if(k>5) TheFinalMessage = 'Готово!';
else TheFinalMessage = 'Подождите...';
while
Оператор
while задает цикл. Определяется он в общем
случае следующим образом:
while
(условие_продолжения_цикла)
Тело цикла может быть как простым, так и составным оператором. Составной оператор, как всегда, заключается в фигурные скобки. Рекомендуется и простой оператор заключать в них, чтобы программу можно было легко модифицировать. Условие_продолжения_цикла является логическим выражением. Тело исполняется до тех пор, пока верно логическое условие. Формально, цикл while работает следующим образом:
- проверяется условие_продолжения_цикла:
- если оно ложно (false), цикл закончен,
- если же истинно (true), то продолжаем далее;
- выполняется тело_цикла;
- переходим к пункту 1.
Такой
цикл используется, когда заранее
неизвестно количество итераций, например,
в ожидании некоторого события. Пример:
var s='';
while (s.length<6)
{
s=prompt('Введите строку
}
alert('Ваша строка: ' + s + '. Спасибо!');
for
Оператор
for — это еще один оператор цикла. В общем
случае он имеет вид:
for
(инициализация_переменных_
условие_продолжения_цикла;
модификация_переменных_цикла) тело_цикла;