Методический анализ темы "JavaScript"

Автор работы: Пользователь скрыл имя, 01 Декабря 2010 в 17:47, Не определен

Описание работы

Актуальность данной темы заключается в том, что в настоящее время большинство преподавателей подготавливаясь к своим лекциям, составляют опорные конспекты, перерабатывают материал и выстраивают его, таким образом, чтоб учащиеся его лучше усвоили. Проанализировав материал, преподаватель сам начинает лучше ориентироваться в нём.

Файлы: 1 файл

курсач.doc

— 311.00 Кб (Скачать файл)

      localURL = "file:///C:/department/internet/js/2/2.html"

      Разрежем  строку в местах вхождения комбинации символов ":/", выполнив команду: b = localURL.split(':/'). Получим массив: 

      b[0] = "file";

      b[1] = "//C";

      b[2] = "department/internet/js/2/2.html";

      Заменяем 0-й и 1-й элементы на требуемые: 

      b[0] = "http:";

      b[1] = "/www.intuit.ru"; 

      Наконец, склеиваем полученный массив, вставляя косую черту в местах склейки: globalURL = b.join("/"). В итоге мы получаем требуемый глобальный URL — значение globalURL будет равно: http://www.intuit.ru/department/internet/js/2/2.html.

      Метод 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). Эта функция должна удовлетворять определенным требованиям:

    1. у нее должно быть ровно два аргумента;
    2. функция должна возвращать число;
    3. если первый аргумент функции должен считаться меньшим (большим, равным) чем второй аргумент, то функция должна возвратить отрицательное (положительное, нуль) значение.

      Например, если нам требуется сортировать  числа, то мы можем описать следующую  функцию: 

      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("Алфавитный  порядок:<BR>");

      document.write(b.sort());

      document.write("<BR>Числовой порядок:<BR>");

      document.write(b.sort(compar));

      В результате выполнения этого кода получим  следующее: 

      Алфавитный  порядок:

      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 и т.п.

    1. серверные объекты, отвечающие за взаимодействие клиент-сервер. Примеры: Server, Project, Client, File и т.п. Серверные объекты в этом курсе рассматриваться не будут.
    2. встроенные объекты. Они представляют собой различные типы данных, свойства, методы, присущие самому языку JavaScript, независимо от содержимого HTML-страницы. Примеры: встроенные классы объектов Array, String, Date, Number, Function, Boolean, а также встроенный объект Math.
    3. пользовательские объекты. Они создаются программистом в процессе написания сценария с использованием конструкторов типа объектов (класса). Например, можно создать свои классы 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.PI/2)

 

       Урок №5

      Тема: Операторы языка 

      Рассмотрим  операторы JavaScript. Основное внимание при  этом мы уделим операторам декларирования и управления потоком вычислений. Без них не может быть написана ни одна JavaScript-программа.

      Общий перечень этих операторов выглядит следующим  образом (сразу оговоримся, что этот список неполный):

      {...}

      if ... else ...

      ()?

      while

      for

      break

      continue

      return

      {...}

      Фигурные скобки определяют составной оператор JavaScript — блок. Основное назначение блока — определение тела цикла, тела условного оператора или функции.

      if ... else ...

      Условный  оператор применяется для ветвления  программы по некоторому логическому условию. Есть два варианта синтаксиса: 

      if (логическое_выражение) оператор_1;

      if (логическое_выражение) оператор_1; else оператор_2; 

      Логическое  выражение — это выражение, которое  принимает значение true или false. В первом варианте синтаксиса: если логическое_выражение равно true, то выполняется указанный оператор. Во втором варианте синтаксиса: если логическое_выражение равно true, то выполняется оператор_1, если же оно равно false оператор_2. 

      if (navigator.javaEnabled())

       alert('Ваш браузер поддерживает Java');

      else

       alert('Ваш браузер НЕ поддерживает Java');

      ()? 

      Этот  оператор, называемый условным выражением, выдает одно из двух значений в зависимости от выполнения некоторого условия. Синтаксис его таков: 

       (логическое_выражение)? значение_1 : значение_2 

      Если  логическое_выражение равно true, то возвращается значение_1, в противном случае значение_2. Условное выражение легко имитируется оператором if...else, однако оно позволяет сделать более компактным и легко воспринимаемым код программы. Например, следующие два фрагмента равносильны: 

       TheFinalMessage = (k>5)? 'Готово!' : 'Подождите...'; 

        if(k>5) TheFinalMessage = 'Готово!';

       else    TheFinalMessage = 'Подождите...';

      while

      Оператор while задает цикл. Определяется он в общем случае следующим образом: 

      while (условие_продолжения_цикла) тело_цикла; 

      Тело  цикла может быть как простым, так и составным оператором. Составной  оператор, как всегда, заключается  в фигурные скобки. Рекомендуется  и простой оператор заключать  в них, чтобы программу можно было легко модифицировать. Условие_продолжения_цикла является логическим выражением. Тело исполняется до тех пор, пока верно логическое условие. Формально, цикл while работает следующим образом:

    1. проверяется условие_продолжения_цикла:
    2. если оно ложно (false), цикл закончен,
    3. если же истинно (true), то продолжаем далее;
    4. выполняется тело_цикла;
    5. переходим к пункту 1.

      Такой цикл используется, когда заранее  неизвестно количество итераций, например, в ожидании некоторого события. Пример: 

      var s='';

      while (s.length<6)

      {

       s=prompt('Введите строку длины не  менее 6:','');

      }

      alert('Ваша  строка: ' + s + '. Спасибо!');

      for

      Оператор  for — это еще один оператор цикла. В общем случае он имеет вид: 

      for (инициализация_переменных_цикла;

           условие_продолжения_цикла;

           модификация_переменных_цикла)  тело_цикла; 

Информация о работе Методический анализ темы "JavaScript"