Professional Documents
Culture Documents
Web Design Basics 9
Web Design Basics 9
ДАНИЕЛА БОРИСОВА
1. Въведение в уеб-програмирането – езици за уеб програмиране,
синтаксис на езика HTML
2. BOX модел. CSS – синтаксис и деклариране на стилове. Деклариране и
използване на класове и селектори
3. Форматиране на текст и списъци
4. Използване на цветове и изображения
5. Таблици – тагове и атрибути
6. Формуляри – елементи, методи за изпращане
7. Използване на рамки и мултимедия, нови елементи в HTML5,
различия между HTML и XHTML
8. Създаване на темплейти чрез CSS и HTML
9. Въведение в JavaScript. Синтаксис, типове променливи и
оператори
10. JavaScript – условия, функции, Regular Expressions, обекти за дата, час,
година Д. Борисова
9.1. JAVASCRIPT – ОБЩА ИНФОРМАЦИЯ
9.2. РАЗПОЛАГАНЕ НА JAVASCRIPT В HTML ДОКУМЕНТ
9.3. ТИПОВЕ ДАННИ И ПРОМЕНЛИВИ
9.4. ОБЕКТИ
9.5. ОПЕРАТОРИ
9.6. ФУНКЦИИ
Д. Борисова
JavaScript е олекотен, интерпретиран език за програмиране с
обектно-ориентирани възможности, които позволяват изграждането
на интерактивност в статичните HTML страници. JavaScript е
разработен от Брендан Ейч от екипа на Netscape под името Mocha.
По-късно е преименуван на LiveScript и това е официалното име на
езика когато за първи път е пуснат в бета-версиите на браузъра
Netscape Navigator 2, а по-късно през 1995 г. (вер. 2 на Netscape
Navigator) е преименуван на JavaScript.
Microsoft също въвежда подобен на JavaScript език т. нар. JScript в
своя Internet Explorer 3.
JavaScript се поддържа от всички интернет браузъри и е
стандартизиран от Европейската асоциация на производителите на
компютри (ECMA).
Д. Борисова
Кодът на JavaScript се поставя в HTML документа посредством
таговете <script> ... </script>.
Тагът <script> уведомява браузъра да започне тълкуването на текста
между отварящия и затваращия таг като скрипт.
JavaScript кодът може да бъде вмъкнат навсякъде в рамките на уеб
страницата, но се препоръчва поставянето му в секцията <head>.
<script>
JavaScript code
</script>
Д. Борисова
JavaScript игнорира интервалите, табулациите и новите редове в
програмния код. Следователно интервали, табулации и нови редове
могат да се използват за по-доброто структуриране на JavaScript кода.
Простите записи в JavaScript обикновено са последвани от знака
точка и запетая, както в езиците C, C ++ и Java. JavaScript обаче
позволява пропускане на точката и запетаята, ако записите са
поставени на отделни редове.
JavaScript прави разлика между главни и малки букви. Това
означава, че ключовите думи на езика, променливите, имената на
функциите, както и другите идентификатори, трябва винаги да бъдат
изписвани по един и същ начин – само с малки, само с големи или с
главна буква.
Д. Борисова
JavaScript поддържа стила на езика C и C++ по отношение на
коментарите:
Всеки текст между // до края на реда ще се интерпретира като
коментар и се игнорира от JavaScript.
Всеки текст между символите /* и */ се интерпретира като коментар.
Този коментар може да се простира на няколко реда.
JavaScript разпознава също отварящият запис за HTML коментар
<!--. JavaScript интерпретира това като коментар от един ред, точно
както го прави коментара //.
Затварящият запис за HTML коментар --> не се интерпретира от
JavaScript, така че трябва да бъде написано като //-->.
Д. Борисова
<script language="javascript" type="text/javascript">
<!--
// Това е просто коментар, подобен на коментарите в C++
/*
Това е многоредов коментар в JavaScript
Записът е подобен на задаване на коментари в
програмния език C
*/
//-->
</script>
Д. Борисова
Има известна гъвкавост по отношение на разполагането на JavaScript
кода в HTML документ. Най-често използваните начини за
разполагане на JavaScript в HTML документа са следните:
JavaScript в секцията <head>...</head>.
Д. Борисова
Използване на JavaScript в <head>...</head> секцията
<html><head>
<script type="text/javascript">
<!--
function sayHello() {
alert("Hello World")
}
//-->
</script>
</head><body>
<input type="button" onclick="sayHello()" value="Say Hello" />
</body></html>
Д. Борисова
Използване на JavaScript в секцията <body>...</body>
<html><head>
</head>
<body>
<script type="text/javascript">
<!--
document.write("Hello World")
//-->
</script>
<p>Това е съдържанието на страницата</p>
</body></html>
Д. Борисова
Използване на JavaScript в секциите <body> и <head>
<html><head>
<script type="text/javascript">
<!--
function sayHello() {
alert("Hello World")
}
//-->
</script>
</head><body>
<script type="text/javascript">
<!--
document.write("Hello World")
//-->
</script>
<input type="button" onclick="sayHello()" value="Say Hello" />
</body></html>
Д. Борисова
JavaScript от външен файл
Д. Борисова
JavaScript позволява да се работи с три примитивни типове данни:
числа – като 123; 120.50; 6.02е11
низове – като "This text string"
булеви (логически) – като true или false
Всички числа в JavaScript се представят като числа с плаваща
запетая. JavaScript представя числата във 64-битов формат с плаваща
точка, определен от стандарта IEEE 754.
Низът в JavaScript е последователност от произволви букви, цифри и
други символи.
Логическият тип данни има две възможни стойности, представени в
JavaScript с ключовите думи true и false. Тези стойности означават
истина или лъжа, включено или изключено, да или не и всичко
друго, което може да бъде представено с един бит информация.
Д. Борисова
JavaScript определя още два тривиални типа данни, null и undefined.
Д. Борисова
Числовите променливи се представят като числа, които не са
заградени в кавички. Числата в Java Script се представят в 64-битов
формат с плаваща запетая. Java Script не прави разлика между цели
числа и числа с плаваща запетая.
Целите числа могат да бъдат представяни в осмична или
шестнайсетична бройна система.
Литералът в осмичната бройна система започва с 0 (нула), а този в
шестнайсетичната с 0х:
Д. Борисова
Низовите променливи представляват букви, цифри или други
символи, както и техните комбинации, поставени в кавички (всичко в
кавичките се интерпретира като текст):
Възможно е използване на комбинация от единични и двойни
кавички:
Д. Борисова
Масивите са тип променливи, които съдържат множество елементи.
Ето една структура на празен масив с неопределен брой елементи,
където masiv е името на масива, а new Array() е начина на
декларирането му:
masiv=new Array()
masiv=new Array(10)
Д. Борисова
Броят на елементите винаги трябва да бъде цяло неотрицателно
число. В горния случай създадохме масив с име masiv и 10 елемента
със стойност NULL, т.е. празни елементи.
Ако не зададем предварително броят на елементите в масива, можем
да направим по-късно, като задаваме стойност на всеки елемент.
Самото индексиране на елементите става с квадратни скоби [ ], като
първият индекс е нула. Например: масив със 7 елемента и зададени
стойности – дните от седмицата:
masiv=new Array(7) masiv = new Array ("понеделник","вторник",
masiv[0]="понеделник" "сряда","четвъртък", "петък","събота",
masiv[1]="вторник" "неделя")
masiv[2]="сряда"
masiv[3]="четвъртък"
masiv[4]="петък"
masiv[5]="събота"
Д. Борисова
masiv[6]="неделя”
За осигуряване на достъп до елементите на масива може да се
използва цикъл:
Д. Борисова
JavaScript е типизиран език. Това означава, че променливата в
JavaScript може да съдържа стойност от всякакъв тип данни.
За разлика от много други езици, в JavaScript не е нужно да се укаже
при самото деклариране на променливата от какъв тип ще бъде.
Стойността на типа на променливата може да се променя по време на
изпълнението на програмния код и JavaScript се грижи за това
автоматично. Променливите в JavaScript имат два обхвата на
действие.
глобални променливи – когато променливата има глобален
обхват, тя може да се дефинира навсякъде в JavaScript кода.
локални променливи – локалната променлива е видима само в
рамките на функцията, където тя е дефинирана.
Д. Борисова
Имена на променливите в JavaScript:
Д. Борисова
ключови думи в JavaScript
Д. Борисова
Javascript е обектно-ориентиран език. Обектът е съставен тип данни,
който съдържа произволен брой свойства. Всяко едно свойство има
име и стойност. Обектите в JavaScript се описват заедно със
свойствата и методите им. Методите на обектите се отнасят до начина
на изпълнението на самия обект.
Някои от най-често срещаните обекти с методите и свойствата им:
Д. Борисова
Изразите в JavaScript се формират като посредством оператори се
комбинират стойности на литерали и променливи. В JavaScript се
поддържат следните типове оператори:
аритметични оператори
оператори за присвояване
оператори за сравнение
побитови оператори
Д. Борисова
аритметични оператори
Д. Борисова
оператори за присвояване
Д. Борисова
оператори за сравнение
Д. Борисова
логически (или релационни) оператори
Д. Борисова
побитови оператори
<script type="text/javascript">
<!—
function functionname(parameter-list)
{
Statements
}
//-->
Д. Борисова
</script>
Пример за функция с два параметъра и връщане на получения
резултат от изпълнението:
<script type="text/javascript">
function concatenate(first, last)
{
var full;
full = first + last;
return full;
}
//-->
</script>
Д. Борисова
<FORM NAME="Calc"><TABLE BORDER=4>
<TR>
<TD><INPUT TYPE="text" NAME="Input" Size="16"><br></TD>
</TR>
<TR>
<TD>
<INPUT TYPE="button" NAME="one" VALUE=" 1 " OnClick="Calc.Input.value += '1'">
<INPUT TYPE="button" NAME="two" VALUE=" 2 " OnCLick="Calc.Input.value += '2'">
<INPUT TYPE="button" NAME="three" VALUE=" 3 " OnClick="Calc.Input.value += '3'">
<INPUT TYPE="button" NAME="plus" VALUE=" + " OnClick="Calc.Input.value += ' + '"><br>
<INPUT TYPE="button" NAME="four" VALUE=" 4 " OnClick="Calc.Input.value += '4'">
<INPUT TYPE="button" NAME="five" VALUE=" 5 " OnCLick="Calc.Input.value += '5'">
<INPUT TYPE="button" NAME="six" VALUE=" 6 " OnClick="Calc.Input.value += '6'">
<INPUT TYPE="button" NAME="minus" VALUE=" - " OnClick="Calc.Input.value += ' - '"><br>
<INPUT TYPE="button" NAME="seven" VALUE=" 7 " OnClick="Calc.Input.value += '7'">
<INPUT TYPE="button" NAME="eight" VALUE=" 8 " OnCLick="Calc.Input.value += '8'">
<INPUT TYPE="button" NAME="nine" VALUE=" 9 " OnClick="Calc.Input.value += '9'">
<INPUT TYPE="button" NAME="times" VALUE=" x " OnClick="Calc.Input.value += ' * '"><br>
<INPUT TYPE="button" NAME="clear" VALUE=" c " OnClick="Calc.Input.value = ''">
<INPUT TYPE="button" NAME="zero" VALUE=" 0 " OnClick="Calc.Input.value += '0'">
<INPUT TYPE="button" NAME="DoIt" VALUE=" = " OnClick="Calc.Input.value =
eval(Calc.Input.value)">
<INPUT TYPE="button" NAME="div" VALUE=" / " OnClick="Calc.Input.value += ' / '"><br>
</TD>
</TR></TABLE>
</FORM>
Д. Борисова
Д. Борисова
Д. Борисова
<script type="text/javascript">
// Length Converter script
var factors1 = new Array(1, 0.01, 0.00001, 0.00000621, 0.3937, 0.0328, 0.01094);
var factors2 = new Array(100, 1, 0.001, 0.000621, 39.37, 3.28, 1.094);
var factors3 = new Array(100000, 1000, 1, 0.621, 39370, 3280, 1094);
var factors4 = new Array(160934, 1609.34, 1.60934, 1, 63360, 5280,1760);
var factors5 = new Array(2.54, 0.0254, 0.0000254, 0.0000158, 1, 0.08333, 0.02778);
var factors6 = new Array(30.48, 0.3048, 0.0003048, 0.0001896, 12, 1, 0.3333);
var factors7 = new Array(91.44, 0.9144, 0.0009144, 0.0005688, 36, 3, 1);
var factors = new Array(factors1,factors2,factors3,factors4,factors5,factors6,factors7);
function convert_unit()
{
from_index = document.length_con.from_unit.selectedIndex;
to_index = document.length_con.to_unit.selectedIndex;
factor = factors[from_index][to_index];
document.getElementById("formula").innerHTML =
document.length_con.from_unit.options[document.length_con.from_unit.selectedIndex].text + "
= " + factor + " " +
document.length_con.to_unit.options[document.length_con.to_unit.selectedIndex].text;
if(isNaN(document.length_con.from_value.value))
document.getElementById("to_value").innerHTML = "Not a valid number.";
else
document.getElementById("to_value").innerHTML = factor *
document.length_con.from_value.value;
}
</script>
Д. Борисова
<h2>Length Converter</h2><p><b>1</b> select a length unit from the "From" dropdown list and one
from the "To" dropdown list.<br /><b>2</b> Enter a numeric value, and click "To" button.
<form name="length_con">
<table border=0 summary="">
<tr>
<td>From</td>
<td><select name=from_unit onChange="convert_unit()";>
<option> centimeters </option>
<option> meters </option>
<option> kilometers </option>
<option> miles </option>
<option> inches </option>
<option> feet </option>
<option> yards </option> </select></td>
<td>To</td>
<td><select name=to_unit onChange="convert_unit()";>
<option> centimeters</option>
<option> meters </option>
<option> kilometers </option>
<option> miles </option>
<option> inches </option>
<option> feet </option>
<option> yards </option></select></td></tr>
<tr>
<td></td>
<td colspan=3><div id="formula">centimeters = 1 centimeters</div></td></tr>
<tr>
<td colspan=4></td></tr>
<tr>
<td>Enter</td>
<td><input type="text" name="from_value" value="1" size="12" maxlength="12"></td>
<td><input type=button value="To" onClick="convert_unit()";></td>
<td><div id="to_value">1</div></td> </tr>
</table>
</form>
<h2>Length Converter</h2>
<p>Type a value in the Feet field
to convert the value to Meters:</p>
<p>
<label>Feet</label>
<input id="inputFeet" type="number" placeholder="Feet"
oninput="LengthConverter(this.value)"
onchange="LengthConverter(this.value)">
</p>
<p>Meters: <span id="outputMeters"></span></p>
<script>
function LengthConverter(valNum) {
document.getElementById("outputMeters").innerHTML=valNum/3.2808;
}
</script>
Д. Борисова