Язык Javascript По материалам курса University of Washington http://www.cs.washington.edu/education/courses/cse190m/07sp/index.shtml http://www.cs.washington.edu/education/courses/cse190m/07sp/index.shtml.

Презентация:



Advertisements
Похожие презентации
Язык JavaScript Скриптовый язык для выполнения на html-страницах.
Advertisements

Богданов Марат Робертович Современные веб-технологии. Подробный курс Синтаксические основы JavaScript.
Введение в Java Script УРОК 1. Пример ПЕРВЫЙ Открыть программу блокнот и записать следующую команду: Сохранить файл С расширением JS загрузить файл Двойным.
Теоретические основы программирования на JavaScript Объектная модель.
Объектная модель DOM javascript. Иерархия классов.
Введение в JavaScript. Общие сведения Web, как гипертекстовую систему, можно рассматривать с двух точек зрения. Во-первых, как совокупность отображаемых.
ВІДДІЛЕННЯ КОМПЮТЕРНИХ НАУК СЕКЦІЯ МУЛЬТИМЕДІЙНІ СИСТЕМИ, НАВЧАЛЬНІ ТА ІГРОВІ ПРОГРАМИ Розробка web-сайту на основі HTML з використанням JavaScript Виконав.
СИНТАКСИС И УПРАВЛЯЮЩИЕ КОНСТРУКЦИИ JAVASCRIPT. Вставка скрипта. 1. В коде HTML-страницы … 2. Внешний файл.
Открытое занятие по дисциплине «Web-программирование»
Лекция 5 Объекты библиотеки JavaScript. Объект Array Создание массивов с помощью конструкторов var firstArray = new Array(); var secondArray = new Array("красный",
Подпрограммы 1.Принцип модульности 2.Область действия переменных 3.Параметры подпрограмм 4.Модули.
Программирование в Mozilla По материалам сайта. Добавление Javascript в XUL-страницы Добавление страниц с текстом на Javascript происходит точно так же,
Электронная Россия ( ), ЭР-2004 Лекция # 4 Основы использования JavaScript.
JavaScript Лекция 8. JavaScript JavaScript - новый язык для составления скриптов, разработанный фирмой Netscape. С помощью JavaScript можно легко создавать.
1 Учебный курс Введение в JavaScript и CGI Лекция 3 Программирование форм и графики кандидат технических наук Павел Брониславович Храмцов
История Включение в HTML Одна или больше строк кода использовать внутри использовать код внешнего файла Одна или больше строк кода.
Объектная модель в JavaScript Объектная модель в языке JavaScript основана на прототипах в противоположность объектной модели, основанной на классах.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Php Что такое php? PHP – это высокоуровневый язык программирования для WEB работающий по принципу транслирующего интерпретатора.
Лекция 4 Объекты. Типы объектов ТипПример Источник реализации Регламентирующи й стандарт Пользовательский Определенные пользователем объекты Student или.
Транксрипт:

Язык Javascript По материалам курса University of Washington

Краткое введение в Javascript Javascript это: 1.Интерпретируемый язык. Его интерпретатор обычно встроен в браузер. 2.Основное назначение – определять «динамическое» поведение страниц при загрузке (формирование страницы перед ее открытием) и при работе пользователя со страницей (UI элементы). 3.Текст на Javascript может быть вложен в HTML-страницу непосредственно или находиться в отдельном файле (как CSS). 4.Похож на языки Java и C# синтаксически, но сильно отличается от них по внутреннему содержанию.

Характеристика Javascript Некоторые важнейшие характеристики Javascript : 1.Язык объектно-ориентированного программирования. Объекты в языке имеют «тип», «атрибуты» и «методы» "John,Jane,Paul,Michael".split(",").length 2.Переменные не имеют заранее заданного типа, то есть в разные моменты времени могут содержать значения разных типов var number = 25; number = (number < 0); number = "25"; 3.Типы объектов могут быть: number, string, function, object, undefined. Оператор typeof позволяет «вычислить» тип объекта. typeof 25 == "number" typeof null == "object"

Основные встроенные типы Типы, встроенные в язык, это: Есть набор встроенных «классов», порождающих «объекты», различающиеся набором атрибутов и методов. Программисты могут динамически изменять поведение этих «классов» и создавать свои собственные. Каждый «класс» является объектом, у которого есть «прототип», определяющий набор атрибутов и методов у всех вновь создаваемых объектов этого класса. - Number : 64-х-разрядные числа с плавающей точкой. - String : строки с символами в формате Unicode. - Array : массивы с переменными границами. - Function : Функции. Каждая функция, кроме того, может служить конструктором объекта. - Boolean, Date, Math, RegExp : логические значения, даты,…

Некоторые сведения о синтаксисе Операции такие же, как в Java и C#, но более широко используется преобразование типов Описание переменных: var count = 25, msg = 'Сообщение об ошибке'; var nullVar; // получает начальное значение null + - * / % = += -= *= /= %= == != > =

Объекты, встроенные в браузеры При программировании можно использовать ряд встроенных объектов. Основные из них это: - window : представляет «глобальный контекст» и позволяет работать с атрибутами и методами окна. - document : загруженная страница со своей структурой элементов. - navigator : объект, представляющий браузер и его свойства. - location : характеристики текущего URL (порт, хост и т.п.). - объекты, представляющие элементы различных типов в HTML-странице, такие как,, и т.п. - события (events), возникающие от действий пользователя, например, нажатие кнопки мыши ( click ), загрузка новой страницы ( load ) и т.д.

Включение Javascript в HTML-страницу Фрагменты кода можно включать в заголовок или тело HTML-документа. Кроме того, можно разместить код в отдельном файле, а в HTML-странице разместить ссылку на этот файл Код, ссылки на который размещены в заголовке, просто подсоединяется к странице и может быть использован, например, для определения реакций на пользовательские события. Код, ссылки на который размещены в теле, исполняется при загрузке страницы и может непосредственно использоваться для формирования содержания страницы во время загрузки.

Два простых примера Метод document.write используется для непосредственного включения HTML -текста в содержимое страницы, например, можно сгенерировать длинный текст в параграфе: for (var i = 0; i < 100; ++i) { document.write("Hello, world! "); } helloworld.html

Два простых примера (продолжение) Во втором примере датчик случайных чисел используется для генерации случайной ссылки (из заданного набора): var rand = Math.random(); // в диапазоне: [0, 1) var numb = Math.floor(rand * 10); var image = "images/image" + numb + ".jpg"; var insert = ""; document.write(insert); randomPicture.html

Тип String Строки заключаются либо в апострофы, либо в двойные кавычки var slogan = "Don't be evil!"; var image =' '; Операции над строками: + == != escape-последовательности: \\ \' \" \t \n "2" + "3""23" "10" < "5"true 10 < "5"false "a" == "A"false 5 == "5"true 5 === "5"false Атрибут строки: length – длина строки. "abc".length == "5""55" Преобразования типов: String(n) Number(s) String(10) < "5" == trueNumber('3.' + '14') == 3.14

Стандартные методы объектов типа String charAt, indexOf, lastIndexOf, replace, split, substr, substring, toLowerCase, toUpperCase Примеры: "Google".charAt(3)"g" "Google".indexOf("o")1 "Google".lastIndexOf("o")2 "Google".replace("o", "oo")"Gooogle" "Google".replace(/o/g, "oo")"Goooogle" "Google".split("o")["G","","gle"] "Google".substr(1,3)"oog" "Google".substring(1,3)"oo" "Google".toLowerCase()"google" "Google".toUpperCase()"GOOGLE"

Тип Number Числа – это 64-х-разрядные двоичные числа с плавающей точкой. Number.MIN_VALUE Number.MAX_VALUE Number.NaN Операции над числами: + - * / % == != 3.14 % parseInt("3.14")3 Функции преобразования: parseInt, parseFloat, Number, toString 5e e+308 NaN parseFloat("*3.14")NaN Number("3.xaxa")NaN 3.14.toString()"3.14" isNaN(3.14 / 0)true

Тип Boolean Стандартные логические значения – true и false. Однако в качестве условий можно использовать любое значение. "Истинные" условия: if (2 < 5) "Ложные" условия: if ('Google могуч и ужасен') if (25) if ("") if (null) if (0) Логические условия используются в условных операторах и операторах циклов. if (x < y) { z = x; } else { z = y; } while (x < 100) { x = x * 2; n++; } do { x = Math.floor(x / 2); n++; } while (x > 0); for (var y = 0, x = 0; x < 100; ++x) { y += x; }

Тип Date Объекты типа Date содержат дату в виде числа миллисекунд, прошедших с 1 января 1970 г. Диапазон от до 10 8 дней от 1 января 1970 г. Конструкторы: var now = new Date(); // сейчас var gagarin = new Date(1961, 4, 12); var january1st1970 = new Date(0); // дата в миллисекундах Методы, применимые для работы с датами: getDate, getMonth, getFullYear, getTime, getTimezoneOffset, setDate, setFullYear,… function DaysToDate(day, month) { var now = new Date(), year = now.getFullYear(); var bd = new Date(year, month-1, day); var fullDay = 24 * 60 * 60 * 1000; var diff = Math.ceil((bd - now) / fullDay); return diff < 0 ? diff : diff; } var newYear = new Date("January 1, 2009"); todate.html

Сообщения, выдаваемые в popup-окнах Три стандартные функции используются для генерации сообщений в popup-окнах: alert, confirm, prompt. alert('Вы просрочили платеж!'); confirm('Вы этого хотите?'); var name = prompt('Как Вас зовут?', 'Никак', 'Вопросик...');

События и реакции на них Имеется большое количество событий, которые можно разделить на следующие классы: День независимости России 12 июня. - события от мыши ( click, dblclick, mousedown,…); - события от клавиатуры ( keypress, keydown,…); - события от элементов ввода ( focus, submit, select,…); - события страницы ( load, unload, error,…); Один из способов программирования состоит в определении реакции на события непосредственно в описании элемента, например: holidays.html Недостаток этого способа: javascript -текст опять смешивается с содержанием страницы.

Тип Array Существует несколько способов создания массива: var holidays = ["1 января", "7 января", "23 февраля"]; Атрибут массива: length – длина массива. var myArray = new Array(); myArray[2] = new Date(2008,2,23); myArray[5] = new Date(2008,5,9); myArray.length == var holidays = new Array("1 января", "7 января", "23 февраля"); var holidays = new Array(3); holidays[0] = "1 января"; holidays[1] = "7 января"; holidays[2] = "23 февраля"; 6?

Тип Array (продолжение) Методы, определенные для работы с массивом: concat, join, pop, push, shift, unshift, slice var names = ["Петя", "Вася"]; names = names.concat(["Сережа", "Наташа"], ["Оля", "Люба"]); names == ["Петя", "Вася", "Сережа", "Наташа", "Оля", "Люба"] var s = names.join(';'); s == "Петя;Вася;Сережа;Наташа;Оля;Люба" var e = names.pop(); e == "Люба" names == ["Петя", "Вася", "Сережа", "Наташа", "Оля"] var l = names.push("Саша"); l == 6 names == ["Петя", "Вася", "Сережа", "Наташа", "Оля", "Саша"] shift и unshift – точно так же, как pop и push, но с началом массива. names = names.slice(1, 4); names == ["Вася", "Сережа", "Наташа", "Оля"]

Тип Array (продолжение) var names = ["Вася", "Сережа", "Наташа", "Оля"]; names.reverse(); names == ["Оля", "Наташа", "Сережа", "Вася"] names.sort(); var a = [5, 3, 40, 1, 10, 100].sort(); a == [1, 10, 100, 3, 40, 5] names.splice(1, 2, "Саша", "Таня", "Нина"); names == ["Вася", "Саша", "Таня", "Нина", "Сережа"] toString – точно так же, как join(','). Еще методы, определенные для работы с массивом: reverse, sort, splice, toString names == ["Вася", "Наташа", "Оля", "Сережа"] var a = [5, 3, 40, 1, 10, 100].sort(function(a,b){return a-b;}); a == [1, 3, 5, 10, 40, 100] names.toString() == "Вася,Саша,Таня,Нина,Сережа"

Работа с таймером var timer = setTimeout(func, timeinterval); function launchTimer() { setTimeout("alert('Зенит – чемпион!');", 2000); } Можно создать таймер и определить реакцию на событие от таймера. func – это функция или строка с кодом; timeinterval – время в миллисекундах. Таймер срабатывает один раз и запускает функцию. Теперь можно запустить этот таймер, например, по событию click : Нажми сюда! settimer.html Пока событие еще не случилось, таймер можно остановить: var timer = setTimeout(func, timeinterval); clearTimeout(timer);

Работа с интервальным таймером var timer = setInterval(func, timeinterval); function launchInterval() { timer = setInterval("alert('Зенит – чемпион!');", 2000); } Таймер может срабатывать многократно через равные промежутки времени. Такой таймер создается с помощью функции setInterval и останавливается с помощью функции clearInterval. Нажми сюда, чтобы запустить. Нажми сюда, чтобы остановить. setinterval.html function stopTimer() { if (timer) clearInterval(timer); timer = null; }