'

Язык Javascript

Понравилась презентация – покажи это...





Слайд 0

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


Слайд 1

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


Слайд 2

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


Слайд 3

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


Слайд 4

Некоторые сведения о синтаксисе Операции такие же, как в Java и C#, но более широко используется преобразование типов Описание переменных: var count = 25, msg = 'Сообщение об ошибке'; var nullVar; // получает начальное значение null + - * / % ++ -- = += -= *= /= %= == != > < >= <= && || ! 2 + '3' == '23', но 2 + 3 == 5 Многие операторы очень похожи на соответствующие операторы Java и C#, но могут иметь некоторые отличия в семантике. for (var i = 0; i < 100; ++i) { ... } if (x * y < 100) { ... } else { ... } try { ... } catch (e) { ... } finally { ... }


Слайд 5

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


Слайд 6

Включение Javascript в HTML-страницу Фрагменты кода можно включать в заголовок или тело HTML-документа. Кроме того, можно разместить код в отдельном файле, а в HTML-странице разместить ссылку на этот файл. <html> <head> <script type="text/javascript"> ... </script> <script type="text/javascript" src="scripts/myscript1.js/> <head> <body> <script type="text/javascript"> ... </script> <script type="text/javascript" src="scripts/myscript2.js/> </body> </html> Код, ссылки на который размещены в заголовке, просто подсоединяется к странице и может быть использован, например, для определения реакций на пользовательские события. Код, ссылки на который размещены в теле, исполняется при загрузке страницы и может непосредственно использоваться для формирования содержания страницы во время загрузки.


Слайд 7

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


Слайд 8

Два простых примера (продолжение) Во втором примере датчик случайных чисел используется для генерации случайной ссылки (из заданного набора): <body> <p> <script type="text/javascript"> var rand = Math.random(); // в диапазоне: [0, 1) var numb = Math.floor(rand * 10); var image = "images/image" + numb + ".jpg"; var insert = "<img class=\"floatRight\" src=\"" + image + "\" alt=\"Фотография цветочка\"/>"; document.write(insert); </script> </p> </body> randomPicture.html


Слайд 9

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


Слайд 10

Стандартные методы объектов типа 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"


Слайд 11

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


Слайд 12

Тип 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; }


Слайд 13

Тип Date Объекты типа Date содержат дату в виде числа миллисекунд, прошедших с 1 января 1970 г. Диапазон от -108 до 108 дней от 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 + 365 : diff; } var newYear = new Date("January 1, 2009"); todate.html


Слайд 14

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


Слайд 15

События и реакции на них Имеется большое количество событий, которые можно разделить на следующие классы: <p>День независимости России <span style="color: blue; text-decoration: underline;" onclick= "alert('Осталось ' + DaysToDate(12, 6) + 'дней');"> 12 июня</span>. </p> - события от мыши (click, dblclick, mousedown,…); - события от клавиатуры (keypress, keydown,…); - события от элементов ввода (focus, submit, select,…); - события страницы (load, unload, error,…); Один из способов программирования состоит в определении реакции на события непосредственно в описании элемента, например: holidays.html Недостаток этого способа: javascript-текст опять смешивается с содержанием страницы.


Слайд 16

Тип 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 ?


Слайд 17

Тип 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 == ["Вася", "Сережа", "Наташа", "Оля"]


Слайд 18

Тип 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() == "Вася,Саша,Таня,Нина,Сережа"


Слайд 19

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


Слайд 20

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


×

HTML:





Ссылка: