Използване на скриптове на вашия сайт - Урок за уеб администратори
Раздел: Уроци / Уроци по HTML
Един документ може безпроблемно да съдържа няколко етикета, независимо от това дали изразите в етикета са посочени или не. Следният кодов фрагмент свързва HTML документ с изходен файл, съдържащ някакъв набор от функции:
Свързаният външен файл не трябва да съдържа HTML тагове и трябва да има разширение .js.
Оператори в таг
Нека променливата ширина на лентата бъде дефинирана и зададена на 75. Следният таг ще начертае хоризонтална линия 75% от хоризонталния размер на прозореца на браузъра:
обречен на провал. Вместо очакваната стойност на myVar, браузърът ще покаже низа myVar.
Събитията са свързани предимно с действия, извършени от потребителя върху елементи на HTML формуляр. Ето защо най-често прихващането и обработката на събития се задава в параметрите на елементите на формата, което ви позволява да проверите въведената информация, преди да я изпратите за обработка от CGI скрипта.
Параметрите, предадени на функцията, са разделени със запетаи. Незадължителният израз за връщане в тялото на функцията (блок от изрази, затворени във фигурни скоби) дефинира върнатата стойност на функцията.
Дефинирането на необходимите функции трябва да се направи в тага, тъй като всички скриптови изрази, дефинирани в него, се интерпретират преди изобразяването на страницата и по този начин ще бъдат известни по време на изобразяването на цялата страница.
Следващият пример демонстрира дефиницията на функция и нейното извикване по време на формирането на страница на документ.
Пример 9.1.Дефиниране на функция и нейното извикване
Започва да показва страницата, в която е вграден скриптът за оценка на функцията
Страницата вече е завършена.
Тагът съдържа описание на функцията square(), която връща квадрата на стойността на нейния параметър,и също така показва поле за съобщение. Функцията се извиква в скрипт, поставен в тялото на HTML документа. Този скрипт използва метода за запис на обекта на документа, за да генерира изход към HTML страница.
Когато този документ се зареди в Internet Explorer, се показва първият абзац и след това се показва поле за съобщение, както е на Фигура 1. 9.3.
Фиг. 9.3.Показване на кутия за съобщения
Щракването върху бутона OK затваря полето за съобщения и показването на страницата продължава. Крайната форма на получената страница може да се види на фиг. 9.4.
Фиг. 9.4.Динамично генерирана страница
Следващият пример демонстрира как изрично да извикате функция от скрипт. Добрият стил на програмиране обаче е да се извикват функции имплицитно чрез параметри за обработка на събития на елемент на формуляр.
Пример 9.2 .Получаване на явно извикване на функция от скрипт
В този пример манипулаторът на събитие onclick на бутона на формуляра е свързан с извикване на функцията за валидиране, на която се предава стойността, въведена в текстовото поле за възраст. Името на полето се дава от параметъра name. При натискане на бутона се извиква валидираща функция, която извежда съобщение в зависимост от въведената стойност.
На фиг. 9.5 показва резултата от взаимодействието със страницата, заредена в браузъра.
Фиг. 9.5.Резултат от взаимодействие с бутона на HTML форма
е пример за език без тип. Не е необходимо да указва типа на променливата. Типът му зависи от вида на данните, съхранявани в него, и когато типът данни се промени, типът на променливата също се променя.
- Цял
- истински
- низ
- булев или булев
За да присвоите стойности на променливи от основни типовеизползват се литерали - стойности на литерални данни от съответните типове.
Целочислените литерали са поредица от цифри и представляват обикновени цели числа със знак или без знак:
123 // положително цяло число
-123 // отрицателно цяло число
+ 123 // положително цяло число
За да зададете реални литерали, използвайте синтаксиса на числата с десетична запетая, разделяща дробната част на числото от цялото число, или нотацията на реални числа в научна нотация, указваща реда на числото след символа "e" или "E". Пример за валидни реални числа:
1.25 | 0,125e01 | 12.5E-1 | 0.0125Е+2 |
Литералът на низ е поредица от буквено-цифрови знаци, оградени в единични кавички (') или двойни кавички ("), например: "Анна", "АННА".
Когато указвате низови променливи, не можете да смесвате единични и двойни кавички. Не е позволено да се посочи низ, например във формата "Анна".
Двойните кавички са един знак, а не поредица от два единични знака в кавички.
Ако трябва да използвате кавички в низ, тогава низовият литерал трябва да бъде ограден в кавички от противоположния вид:
"Това е низ" //Стойността на низа е Това е низ
Булевите литерали имат две стойности, true и false, и се използват за справяне с да/не ситуации в операторите за сравнение.
Всяка променлива има име, което трябва да започва с латинска буква или долна черта "_", последвана от комбинация от буквено-цифрови знаци или долна черта. Следните имена са валидни имена на променливи
Можете да дефинирате променлива по два начина:
- оператор var
- Оператор за присвояване (=)
Операторът var се използва както за задаване, така и за инициализиране на променлива и има следния синтаксис:
променлива име_на_променлива [= първоначална_стойност];
Незадължителният оператор за присвояване указва данните, които съдържа променливата. Техният тип определя вида на променливата. Например следното твърдение
var weekDay = "Петък";
дефинира променливата weekDay, присвоява й стойността на низа "Петък" и по този начин дефинира нейния тип като низ.
Ако не е присвоена стойност на променлива, когато е дефинирана, тогава нейният тип е недефиниран. Неговият тип ще бъде определен само след като му бъде присвоена някаква стойност от оператора за присвояване =.
var weekDay | // Променливата е дефинирана, но типът е неизвестен |
weekDay="петък"; | // Тип низ |
седмицаден=5; | // целочислен тип |
Изразът е комбинация от променливи, литерали и оператори, която дава една стойност, която може да бъде число (цяло число или реално), низ или булева стойност.
Променливите в изразите трябва да се инициализират или в израз var, или оператор за присвояване. Ако се срещне неинициализирана или недефинирана променлива по време на оценяването на израз, интерпретаторът генерира грешка „недефинирана променлива“, указвайки нейното местоположение на HTML страницата.
Операторът за присвояване се третира като израз за присвояване, който се оценява на израза от дясната страна и в същото време присвоява изчислената стойност на израза на променливата, дадена от лявата страна на оператора.
- Аритметика (изчислена стойносте число)
- Низ (изчислената стойност е низ)
- Булева стойност (изчислената стойност е истина или невярно)
За изграждане на изрази се използват оператори, които съответстват на типа израз.
Аритметичните изрази се създават от аритметични оператори (Таблица 9.1).
Таблица 9.1.Аритметични оператори
Остатък от целочислено деление
Увеличаване на стойността на променлива с единица
Намаляване на стойността на променлива с единица
Следните са аритметични изрази в инструкциите за присвояване:
разстояние = скорост * време;
разстояние = (скорост++)*време;
В последния израз скоростта (променлива скорост) се увеличава с единица и се изчислява изминатото разстояние.
Операторите в израз се оценяват отляво надясно, като се взема предвид общоприетият приоритет на аритметичните операции. Скобите могат да променят реда, в който се извършват аритметичните операции.
В допълнение към простия оператор за присвояване (=), има съкратени форми на оператори за присвояване, комбинирани с аритметични оператори, при които аритметичните операции се извършват върху левия и десния операнд и резултатът се присвоява на променливата, указана от левия операнд. Всички те са изброени в табл. 9.2.
Таблица 9.2.Оператори за съкратено присвояване
Оператор | Стойност |
x *= y | x=x*y |
x /= y | x=x/y |
x += y | x = x + y |
х -= у | x = x - y |
x%=y | x = x % y |
За създаване на логически изрази се използват оператори за сравнение и логически оператори за прилагане към променливи от всякакъв тип.
Операторите за сравнение са подобни на тези в други езици за програмиране. Техният списък е представен в табл. 9.3.
Таблица 9.3.Оператори за сравнение
Повече или равно
По-малко или равно
Когато тези оператори се използват в израз, той се оценява на true, ако съответното сравнение е true, в противен случай изразът се оценява на false.
Логическите оператори са представени в табл. 9.4. Примерите предполагат, че променливата var1 = 'Whale', var 2 = 'Cat', var3 = false.
Таблица 9.4.Логически оператори
Оператор |
израз 1 && израз2
Връща extr!, ако е конвертируем или е равен на false, в противен случай ex2
varl && var2 (равно на ' Cat ' )
var2 && var3 (равно на false)
Връща extr!, ако е конвертируем или е равен на true, в противен случай ex2
varl var2 (равно на 'Kit')
var3 I varl (равно на „комплект“)
var3 false (равно на false)
Ако exp е true, връща false; ако exp е false, връща true
! varl (равно на false)
! var3 (равно на true)
Логическите оператори и операторите за сравнение се използват в оператори за цикъл и условия за тестване за завършване на цикъл или изпълнение на конкретна група оператори.
низ = "Моят" + "низ"; // Стойността на низовата променлива е "Mystring"
Операторът + може да се използва със смесени типове операнди. Всички операнди се привеждат към типа низ, ако поне един от операндите съдържа низов литерал. Например, изразът "May" + 1.999e3 ще изчисли низа "May1999" и"May" + t ще бъде равно на "Mautrue", ако променливата t съдържа булевата стойност true.
Условният оператор е единственият оператор, който използва три операнда. Стойността му е един от двата операнда, определен от условието за истинност на третия. Синтаксисът му е следният:
(състояние) ? стойност1 : стойност2;
Ако операндът на условието се изчисли като true, тогава резултатът от оценката на условния оператор е стойност!, в противен случай стойност2. Например операторът
задава обхват на "Retake", ако оценката е по-малка или равна на 2, в противен случай е зададена на
Масивът е подреден набор от хомогенни данни, чиито елементи могат да бъдат достъпни по име и индекс. Създава се масив с оператора new и конструктора на масива, системната функция Array, която инициализира елементите на масива. Можете да създадете масив, като използвате една от следните конструкции:
име_на_масив = нов масив([елемент0, елемент1, . . ., елементи]);
име_на_масив = нов масив([дължина_на_масив]);
Когато използвате първия синтаксис, стойностите на елементите на масива се предават на конструктора на масива като параметри, а дължината на масива се задава във втората конструкция. Възможно е да се използва конструктор без параметри, но в този случай се определя само променливата с даденото име да се използва като масив. Елементите на самия масив не са зададени и следователно не могат да бъдат достъпни, освен ако не са изрично зададени стойности в скрипта.
За да получите стойността на елемент от масива, трябва да посочите поредния номер на елемента в квадратни скоби до името на масива. Елемент от масив може да се използва в изрази и от лявата страна на оператор за присвояване:
a[0] = "1"; a[1] = 2; c = b[2]*c[3] ;
Масивът, тъй като е обект, има методикоито се извикват с помощта на обичайната нотация с точка за обектно-ориентирани езици. В табл. 9.5 изброява методите на обекта Array.
Таблица 9.5.Методи на масивни обекти