СКРИПТОВЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 4 преподаватель кафедры ТМСИ Губин Максим Владимирович Введение в JScript.

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



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

Переменные и операторы УРОК 2. Переменные ПЕРЕМЕННАЯ – ?... контейнер для хранения данных. Переменная имеет имя – это….? последовательность букв, цифр.
Богданов Марат Робертович Современные веб-технологии. Подробный курс Синтаксические основы JavaScript.
Объектно-ориентированный язык программирования. Переменная - эта поименованная ячейка памяти, хранящая какое-либо одно значение (одно число, один фрагмент.
1 Программирование на языке Паскаль Тема 1. Введение.
Тема 1. Введение 1.
Лекция 14 Тема « Основы программирования на JavaScript. Синтаксис языка » Преподаватель: Халелова Е.Н.
Арифметические выражения. Выражение - это формальное правило для вычисления некоторого значения. В зависимости от типа значения выражения можно разделить.
Урок 6 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Введение в Java Script УРОК 1. Пример ПЕРВЫЙ Открыть программу блокнот и записать следующую команду: Сохранить файл С расширением JS загрузить файл Двойным.
1 Программирование на языке Паскаль Тема 1. Введение Кулебякин В.В.
Лекция 2 Типы данных и переменные. Слабый контроль типов Пример: var favNumber; favNumber = 3; favNumber = "Сан-Диего";
История Включение в HTML Одна или больше строк кода использовать внутри использовать код внешнего файла Одна или больше строк кода.
1 Программирование на языке Паскаль Тема 1. Введение.
Онлайн курс «Web разработка на базе ASP.NET MVC» на study.smarly.netstudy.smarly.net Работа с JavaScript в браузере Первый взгляд Переменные и типы Функции.
РНР Изучение языка. Программирование интерактивных WEB-сайтов на языке PHP.
Программирование
Урок 3 Turbo Pascal Язык профессионального программирования, который назван в честь французского математика и философа Блеза Паскаля (1623–1662) и разработан.
Ветвления 8 класс. 2 Основные теоретические сведения Примеры решения задач.
Лекция 1 Введение в JavaScript. Пример простейшего XHTML- документа JavaScript Hello World Пepвoe знакомство с JavaScript document.write("Всем привет.
Транксрипт:

СКРИПТОВЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ Лекция 4 преподаватель кафедры ТМСИ Губин Максим Владимирович Введение в JScript

WWW Всемирная сеть - это среда информационного обмена для миллионов людей. Информация становиться все более интерактивной: текст, видео, звук. JavaScript - это язык программирования, используемый в составе страниц HTML для увеличения функциональности и возможностей взаимодействия с пользователями. Был разработан фирмой Netscape в сотруднечестве с Sun Microsystems на базе языка Sun's Java. С помощью JavaScript на Web-странице можно сделать то, что невозможно сделать стандартными тегами HTML. Скрипты выполняются в результате наступления каких- либо событий, инициированных действиями пользователя. JavaScript может обращаться к свойствам и методам Java-апплетов, встроенных в страницу HTML. Разница сводится к тому, что апплеты существуют вне браузера, в то время как программы JavaScript могут работать только внутри браузера. 2

JavaScript В Microsoft осознали потенциал JavaScript и создали собственную версию этого языка сценариев - Jscript. JScript полномасштабная система для разработок в Web. Подобно тому как JavaScript тесно взаимосвязан с технологической моделью Netscape, язык Jscript интегрирован в модель Microsoft. В результате была достигнута всесторонняя реализация JavaScript с рядом специфических дополнений, ориентированных на браузер Internet Explorer. Инфраструктуры объектов в JScript и JavaScript аналогичны, а способ применения JScript для Web-страниц такой же, как у JavaScript. Netscape предложила базовые функции и средства объектной модели браузера. В то время как Microsoft предложили тесную интеграцию с самой ОС. Раздельное существование объектных моделей Internet Explorer и Jscript позволяет: открыть доступ к объектной модели Internet Explorer из предусмотренных в браузере языков сценариев других разновидностей (например, VBScript); обновляя объектную модель Internet Explorer, Microsoft наращивает функциональные возможности как JScript, так и VBScript, эта же объектная модель служит составной частью архитектуры ActiveX корпорации Microsoft. 3

JScript Jscript – интерпретируемый язык для исполнения сценариев в WSH. Для этого необходим код в js-файлах. JScript – объектно-ориентированный язык. JScript позволяет использовать возможности библиотеки классов.NET Framework. WScript.Echo (Hello, Word!); //comment document.write("Hello, World"); 4

ActiveX В Windows с самого начала используется технология связывания и внедрения объектов (Object Linking and Embedding, OLE). Технология OLE использовалась для предоставления приложениями друг другу собственных функций (служб) и правильного использования этих функций. Технология, позволяющая одному приложению (клиенту автоматизации) вызывать функции другого приложения (сервера автоматизации) была названа OLE Automation. В основе OLE и OLE Automation лежит разработанная Microsoft базовая "компонентная" технология Component Object Model (COM). Для управления COM объектами в ОС разработаны WSH и языки сценариев VBScript, JScript. 5

Инструкции Чувствителен к регистру: res=Test();res=test(); Непрерывные строки: Wscript.Echo(Hello,, I was here.); Группа инструкций, заключенная в фигурные скобки ({}), называется блоком. Блоки инструкций используются как функции или условные выражения. function convert(inches) { feet = inches / 12; // Эти пять инструкций - блок. miles = feet / 5280; nauticalMiles = feet / 6080; cm = inches * 2.54; meters = inches / 39.37; } 6

Операторы Арифметические: унарный минус, инкремент, декремент, умножение, деление, сложение, вычитание, деление по остатку. Логические: и, не, или, больше, меньше, меньше или равно, больше или равно, равно, не равно, условное выражение, запятая, тождественно, нетождественно. Разрядные: поразрядный левый сдвиг, поразрядный правый сдвиг, беззнаковый поразрядный сдвиг, разрядное и, разрядное или, разрядное исключающее или. Присваивания: присваивание, составное присваивание. Прочие. 7

Приоритет операторов Оператор Описание. [] ()Точка, индексы массивов, вызов функции ~ ! typeof new void delete Унарные операции, вывод типов данных, создание объектов, неопределенные значения * / %Умножение, деление, деление по остатку + - +Сложение, вычитание, конкатенация строк > >>>Поразрядные сдвиги >=Меньше, меньше или равно, больше, больше или равно == != === !==Равно, неравно, тождественно, нетождественно &Разрядное И ^Разрядное ИСКЛЮЧАЮЩЕЕ ИЛИ |Разрядное ИЛИ &&Логическое И ||Логическое ИЛИ ?:Условное выражение = OP=Операторы присваивания,Запятая 8

Пример z = 78 * ( ) В данном выражении пять операторов: =, *, (), +, +. Приоритет операторов - следующий: (), *, +, +, =. 1. Первым вычисляется значение выражения в круглых скобках: К сумме операции 96 и 3 прибавляется 45, общая сумма равна Далее выполняется умножение: произведение 78 и 144 дает результат Переменной z присваивается значение

Переменные Считается хорошим стилем программирования, объявление переменной перед использованием. Это делается с помощью инструкции var. Вы обязаны применять инструкцию var при объявлении локальной переменной внутри функции. var mim = "A man, a plan, a canal, Panama!"; // Строковый тип var ror = 3; // Целый числовой тип. var nen = true; // Boolean или логический тип. var fif = ; // Числовой тип. В выражениях применять необъявленные переменные не допускается. JScript различает регистр в имени переменной. Первым символом может быть буква любого регистра, или символ подчеркивания (_), или знак доллара ($). Именами переменных не могут служить зарезервированные слова. При объявлении переменной возможна инициализация значением null. 10

Примеры _pagecount; Part9; Number_Items; 99Balloons; // Первый символ - цифра. Smith&Wesson; // Амперсанд(&) не разрешено применять в именах. var zaz = null; var notalot = 3 * zaz; // В данном случае notalot равен 0. var godot; var waitingFor = 1 * godot; // waitingFor имеет значение NaN, так как значение переменной godot не определено. lel = ""; // Переменная lel объявлена неявно. var aMess = vyv + zez; // Ошибка, так как vyv and zez не существуют. 11

Преобразование типов JScript - язык с нестрогим контролем типов, переменные не имеют строго фиксированного типа. Переменные имеют тип, эквивалентный типу значения, которое они содержат. Например, числа могут быть объявлены как строки, а строки необходимо преобразовать в числовой тип. Для этого применяют функции parseInt() и parseFloat():parseInt() parseFloat() var theFrom = 1; var theTo = 10; var doWhat = "Count from "; doWhat += theFrom + " to " + theTo + "."; После выполнения кода, переменная doWhat принимает значение "Count from 1 to 10." Числовой тип преобразовывается в строковый тип. var nowWhat = 0; nowWhat += 1 + "10"; // В этом случае, "10" является строкой, // "+=" - оператор конкатенации. После исполнения кода, переменная nowWhat принимает значение "0110". 12

var nowThen = 0; nowThen += 1 + parseInt("10"); После выполнения кода, переменная nowThen принимает значение

Типы данных JScript используется шесть типов данных: Основные: числа, строки, объекты, логический. Остальные два: null, undefined(неопределенный). 14

Строковый тип данных Строки объявляются при помощи двойных кавычек или апострофов. Строки могут быть объектами Jscript. "The cow jumped over the moon." '"Avast, ye lubbers!" roared the technician.' "42" Строка может состоять из нуля или более символов unicode. Когда количество символов равно нулю, это называется пустой строкой (""). 15

Числовой тип данных Целые, числа с плавающей точкой, положительные, 0 (нуль) и отрицательными. Существуют специальные представления чисел: NaN (Not A Number) или Не Число; плюс-бесконечность; минус-бесконечность; положительный 0; отрицательный 0. Примеры чисел:.0001, , 1e-4, 1.0e-4 // Четыре числа с плавающей точкой равны друг другу. 3.45e2 // Число с плавающей точкой - равно // Целое число // Восьмиричное число, эквивалентно // 8-ричное число не может содержать плавающую точку, эквивалентно // 8-ричное число, равное Xff// 16-ричное, эквивалентное x37CF // 16-ричное, эквивалентное x3e7 // 16-ричное, эквивалентное x3.45e2 // 16-ричное число не может содержать дробную часть, эквивалентно 3. 16

Логический или булевый тип Возможные значения типа - true и false. Это - специальные значения, равные соответственно 1 и 0. При сравнении, любое выражение, равное 0, считается ложным - false, а любое выражение, равное числу, отличным от 0 будет правдой(верным) - true. Следующее выражение возвращает true: (false == 0) 17

Массивы Array представляет собой переменную, в которой сгруппированы связанные фрагменты данных. К каждому фрагменту данных в массиве обращаются с помощью уникального номера, называемого индексом. var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); theMonths[0]; Может использовать пустые элементы, чтобы создать разреженный массив var arr = [1,,,,5]; Может содержать данные любого типа, в том числе и другие массивы. var cats = [ ["Names", "Beansprout", "Pumpkin", "Max"], ["Ages", 6, 5, 4] ]; 18

Управляющие структуры Условные выражения if и if...else var theReaction = ""; if ((lbsWeight > 15) || (lbsWeight > 45)) { theReaction = ("Неплохо! "); } else theReaction = ("Не очень! "); Условный оператор var hours = ""; hours += (theHour >= 12) ? " PM" : " AM"; Циклы:for, for...in, while, do...while и switch var newSum = 0; for (var icount = 1; icount < howFar; icount++) { newSum += icount; } for (j in tagliatelleVerde) // tagliatelleVerde является объектом { // Код JScript. } 19

Функции В JScript имеется два вида функций: встроенные и определяемые. Функции исполняют при вызове определенный блок инструкций. Это позволяет однажды определить функцию, а в дальнейшем вызывать ее когда потребуется. var epsilon = ; // "Машинное эпсилон". var triplet = false; function integerCheck(a, b, c) { // Функция проверки при целых числах. if ( (a*a) == ((b*b) + (c*c)) ) { // Код проверки. triplet = true; } } // Конец функции проверки при целых числах. Пример встроенной функции: var anExpression = "6 * 9 % 7"; var total = eval(anExpression); // Вычисляет выражение, равно 5. var yetAnotherExpression = "6 * (9 % 7)"; total = eval(yetAnotherExpression) // Вычисляет выражение, равно

Объекты В JScript объекты это совокупность методов и свойств: метод - функция, которая выполняется внутри объекта, свойство - значение или набор значений, являющееся частью объекта. Объекты можно разделить на три вида: встроенные, созданные, браузерные. В JScript девять встроенных объектов: Array, Boolean, Date, Function, Global, Math, Number, Object и String. 21

Объект Массив Создания нового массива происходит с помощью оператора new и конструктора Array() var theMonths = new Array(12) { theMonths[0] = "Jan"; theMonths[1] = "Feb"; theMonths[2] = "Mar"; theMonths[3] = "Apr"; theMonths[4] = "May"; theMonths[5] = "Jun"; theMonths[6] = "Jul"; theMonths[7] = "Aug"; theMonths[8] = "Sep"; theMonths[9] = "Oct"; theMonths[10] = "Nov"; theMonths[11] = "Dec"; } var theMonths = new Array("Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"); 22

Объект Строка Объект String имеет встроенные методы, которые можно применить при работе со строками. Одним из методов является substring, возвращающий часть строки. Содержит два аргумента числового типа.String substring aString = " "; var aChunk = aString.substring(4, 7); // aChunk равно "456". var aNotherChunk = aString.substring(7, 4);// aNotherChunk равно "456". // Применение метода в созданном ранее массиве: firstLetter = theMonths [5].substring(0,1); // firstLetter присвоено значение "J". Еще одно свойство объекта String - свойство длины (length) строки, значение которого соответствует количеству символов в строке, значение 0 соответствует пустой строке. Это значение может быть использовано в вычислениях.length var howLong = "Hello World".length // Возвращает значение 11, которое присваивается переменной howLong. 23

Объект Math Содержит основные математические функции и константы. // Переменная radius является числовым значением. var circleArea = Math.PI * radius * radius; // Вычисление площади круга. Метод pow возвращает значение степенного выражения параметров. // Вычисление объема сферы в зависимости от радиуса. volume = (4/3)*(Math.PI*Math.pow(radius,3)); Метод abs определяет абсолютное значение числового параметра. function ComparePosNegVal(n) { var s; var v1 = Math.abs(n); var v2 = Math.abs(-n); if (v1 = v2) s = "Абсолютные величины " + n + " и " s += -n + " равны."; return(s); } 24

Объект Date - Дата Объект применяется для вывода текущей даты, а также для определения разницы между датами. Объект позволяет определить день недели; день, месяц, год; а также время в часах, минутах и секундах. Основанием является количество миллисекунд, прошедших с 1-го января 1970 года, 00 ч,00 мин, сек по GMT. GMT означает "Среднее Время По Гринвичу"; условно UTC, или "Универсальная Координата Времени", являющееся Международным Эталоном Времени. /* В переменной thisIsToday содержится массив для текущего момента. */ var thisIsToday = new Date(); var toDay = new Date(); // Текущая дата. // Определение года, месяца и дня. var thisYear = toDay.getYear() ; var thisMonth = theMonths[toDay.getMonth()]; var thisDay = thisMonth + " " + toDay.getDate() + "," + (parseInt(toDay.getYear()) ); // Определение количества дней. thisDay = Math.round(Date.parse(thisDay)/8.64e7); 25

Создание собственных объектов Для создания нового объекта, необходимо определить его, присвоить ему свойства и методы. Существует ключевое слово this, используемое для обращения к текущему объекту. function pasta( grain, grain2, width, shape, shapenum, extent, egg ){ this.length = 7; // Размер, количество свойств объекта this.grain = grain; // Какие гранулы включены? (Строка) this.grain2 = grain2; // Добавление другой муки? (Строка) this.width = width; // Длина? (Число) this.shape = shape; // Форма изделия? (Строка) this.shapenum = shapenum; // Количество видов фигур? (Число) this.extent = extent; // Количество штук? (Число) this.egg = egg; // Применение яичного порошка? (Булево значение) } var spaghetti = new pasta("wheat", "", 0.2, "circle", 9, 30, true); var linguine = new pasta("wheat", "", 0.3, "oval", 17, 30, true); // Дополнительные свойства spaghetti. spaghetti.color = "соломенный"; spaghetti.drycook = 7; spaghetti.freshcook = 0.5; 26

Объекты и коллекции Dictionary Объект Drive Объект Drives Коллекция File Объект Files Коллекция FileSystemObject Объект Folder Объект Folders Коллекция TextStream Object Объект Dictionary, хранящий данные парами "ключ-значение". var y = new ActiveXObject("Scripting.Dictionary"); y.add ("a", "test"); if (y.Exists("a")) document.write("true"); 27

Использование окон сообщений Метод alert имеет один аргумент - строку, которую всплывающее окно выводит на экран пользователя. Единственная кнопка OK позволяет пользователю закрыть alert для продолжения работы со страницей. window.alert("Привет! Нажми OK для продолжения."); Метод confirm позволяет задать пользователю альтернативный вопрос, на который можно ответить "Да-Нет" с помощью кнопок OK и Cancel. Метод возвращает одно из двух значений: true или false. var truthBeTold = window.confirm("Нажми OK или Cancel."); if (truthBeTold) { window.alert("Добро пожаловать на Web-страницу!"); } else window.alert("До свидания!"); Метод prompt позволяет пользователю ввести текстовой ответ на ваш запрос. Окно имеет кнопки OK и Cancel. Если Вы примените второй аргумент, то он будет являться ответом по умолчанию. Иначе ответ по умолчанию будет не определен. var theResponse = window.prompt("Привет!","Введите здесь свое имя"); 28