Notice: Undefined variable: this in /home/dimarini/public_html/libraries/src/Application/CMSApplication.php on line 441

JavaScript II част

Обекти в JavaScript - свойства и методи

JavaScript е език за обектно ориентирано програмиране (ООП), който позволява определянето на собствени обекти и видове променливи. Създаването на собствени обекти ще бъде разгледано в ІІІ част на настоящото кратко ръководство. Тук ще разгледаме вградените в JavaScript обекти и начина на тяхното използване. Обекта е специален вид данни със своите свойства и методи.
Свойства
Свойствата са стойности, които са свързани с обекта. В следващият пример е използвано свойството length на текстов обект, с което се получава броя на символите в текста:

<html>
<body>
<script type="text/javascript">
var txt="Здравейте всички!"
document.write(txt.length);
</script>
</body>
</html>
Резултата от изпълнението на кода ще е 17.
Свойството constructor показва функцията която е създала прототипа на текстовия обект. Свойството prototype позволява да се добавят свойства и методи към обекта.
Методи
Методите са действията, които могат да се извършват с обектите. В следващият пример се използва метода toUpperCase() на текстов обект за да се покаже текста с главни букви:
<html>
<body>
<script type="text/javascript">
var txt="Здравейте всички!"
document.write(txt.toUpperCase());
</script>
</body>
</html>
Резултата от изпълнението на кода ще е ЗДРАВЕЙТЕ ВСИЧКИ!.
В следващият пример са демострирани основните методи за форматиране на символите в текстови обекти (виж примера в браузъра):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Методи за форматиране на текстови обекти в JavaScript </title>
</head>
<body>
<script type="text/javascript">
var txt = "Здравейте всички!";
document.write(("Методи за форматиране на текстов обект:").fontsize(5) + "<br />")
document.write("<p>Големи: " + txt.big() + "</p>");
document.write("<p>Малки: " + txt.small() + "</p>");
document.write("<p>Удебелени: " + txt.bold() + "</p>");
document.write("<p>Наклонени: " + txt.italics() + "</p>");
document.write("<p>Фиксирани: " + txt.fixed() + "</p>");
document.write("<p>Зачеркнати: " + txt.strike() + "</p>");
document.write("<p>Цвят: " + txt.fontcolor("blue") + "</p>");
document.write("<p>Размер: " + txt.fontsize(6) + "</p>");
document.write("<p>Индекс: " + txt.sub() + "</p>");
document.write("<p>Степен: " + txt.sup() + "</p>");
document.write("<p>Връзка: " + txt.link("http://dimarini.net") + "</p>");
document.write("<p>Мигащи: " + txt.blink() + " (не работи в IE, Chrome и Safari)</p>");
document.write(("Методи за промяна на символите в главни и малки:").fontsize(5) + "</p>")
document.write("<p>" + txt.toUpperCase() + "</p>");
document.write("<p>" + txt.toLowerCase() + "</p>");
</script>
</body>
</html>
Метод charAt()
Показва символ с индекс от текста на определено место в поредицата. Индексът на първия символ в поредицата е 0, а индекса на последния символ в текста “txt” е txt.length-1.
Синтаксис: txt.charAt(индекс)
Параметърът е индекс, което е цяло число от 0 до txt.length-1 (txt е променлива съдържаща текстовия обект).
Метод charCodeAt()
Показва Unicode на символ с определен индекс от текста.
Синтаксис: txt.charCodeAt(индекс)
Параметърът е индекс, което е цяло число от 0 до txt.length-1 (txt е променлива съдържаща текстовия обект).
Метод concat()
Свързва два или повече текстови обекта. Съществуващите текстови обекти не се променят и показва копие на резултантния текстов обект.
Синтаксис: txt.concat(txt1,txt2,…,txtN)
Параметрите са текстови обекти txt1,txt2,…,txtN, които трябва да се свържат с основния текстов обект txt.
Метод fromCharCode()
Преобразува Unicode в съответния символ. Този метод е статичен за текстов обект като преди него не се указва променлива а се записва String.
Синтаксис: String.fromCharCode(n1, n2, ..., nX)
Параметрите са едино или повече числа от Unicode (n1, n2, ..., nX), които трябва да се преобразуват в символи.
Метод indexOf()
Показва местото на първото появяване на определен символ или група символи от текстов обект txt. Когато не е намерена определената стойност, метода показва -1. Синтаксис: txt.indexOf(текст или символ, start)
Параметрите на този метод са:
текст или символ – Задължителен параметър, определящ текстовия обект в който се търси съответната стойност.
start – Опция за началната позиция на търсене. Когато е пропуснат търсенето започва от позиция 0.
Метод lastIndexOf()
Показва местото на последното появяване на определен символ или група символи от текстов обект. Когато не е намерена определената стойност, метода показва -1.
Синтаксис: txt.lastIndexOf(текст или символ, start)
Параметрите на този метод са:
текст или символ – Задължителен параметър, определящ текстовия обект в който се търси съответната стойност.
start – Опция за началната позиция на търсене. Когато е пропуснат търсенето започва от позиция 0.
Метод match()
Търси съвпадение между израз и текстов обект като показва съвпадението. Когато няма съвпадение резултата е null.
Синтаксис: txt.match(буква, дума или израз)
Параметърът е буква, дума или израз.
Метод replace()
Търси съвпадение на зададен текст с част от текстовия обект txt и заменя намереното съвпадение с нов текст.
Синтаксис: txt.replace(текст,текст за замяна)
Параметри са търсеният текст и този с който трябва да се замени.
Метод search()
Търси съвпадение на зададен текст с част от текстовия обект txt и показва позицията на съвпадението или -1 ако няма съвпадение
Синтаксис: txt.search(текст)
Параметърът е текст.
Има още няколко метода, които не са толкова важни и няма да бъдат разгледани тук. В долният пример са показани основните методи за манипулиране на текстови обекти (виж примера в браузъра):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Методи за манипулиране на текстови обекти в JavaScript </title>
</head>
<body>
<script type="text/javascript">
var txt = "Здравейте всички!";
var txt1 = "Който учи,";
var txt2 = " той ще сполучи!";
var txt3 = " ...Ако има късмет!?!"
var str="Посетете Мол София!";
document.write(("Метод txt.charAt():").fontsize(4) + "<br />");
document.write("Първи символ: " + txt.charAt(0) + "<br />");
document.write("Последен символ: " + txt.charAt(txt.length-1) + "<br />");
document.write(("Метод txt.charCodeAt(0):").fontsize(4) + "<br />");
document.write("Unicode на първият символ:" + txt.charCodeAt(0)+ "<br />");
document.write("Unicode на последният символ: " + txt.charCodeAt(txt.length-1) + "<br />");
document.write(("Метод txt1.concate(txt2,txt3):").fontsize(4) + "<br />");
document.write(txt1.concat(txt2,txt3) + "<br />");
document.write(("Метод String.fromCharCode():").fontsize(4) + "<br />");
document.write(String.fromCharCode(1047,1076,1088,1072,1074,1077,
1081,1090,1077,33) + "<br />");
document.write(("Метод indexOf() и lastIndexOf():").fontsize(4) + "<br />");
document.write(txt.indexOf("д") + "<br />");
document.write(txt.indexOf("Р") + "<br />");
document.write(txt.indexOf("в")+ "<br />");
document.write(txt.lastIndexOf("в")+ "<br />");
document.write(("Метод replace():").fontsize(4) + "<br />");
document.write(str.replace("Мол София","Метро"));
</script>
</body>
</html>
Метод Date()
Използва се за работа с дати и време. В долният пример е показано използването на метода за съставяне на датник и часовник (виж примера в браузъра):
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title> Метод Date в JavaScript </title>
<script type="text/javascript">
function startTime()
{
var today=new Date();
var h=today.getHours();
var m=today.getMinutes();
var s=today.getSeconds();
// add a zero in front of numbers<10
m=checkTime(m);
s=checkTime(s);
document.getElementById('txt').innerHTML=h+":"+m+":"+s;
t=setTimeout('startTime()',500);
}
function checkTime(i)
{
if (i<10)
{
i="0" + i;
}
return i;
}
</script>
</head>
<body onload="startTime()">
<script type="text/javascript">
var d=new Date();
var weekday=new Array(7);
var month=new Array(12)
weekday[0]="Неделя";
weekday[1]="Понеделник";
weekday[2]="Вторник";
weekday[3]="Сряда";
weekday[4]="Четвъртък";
weekday[5]="Петък";
weekday[6]="Събота";
month[0]="Януари";
month[1]="Февруари";
month[2]="Март";
month[3]="Април";
month[4]="Май";
month[5]="Юни";
month[6]="Юли";
month[7]="Август";
month[8]="Септември";
month[9]="Октомври";
month[10]="Ноември";
month[11]="Декември";
var year=1900+d.getYear();
document.write("Днес е: " + "<br />" + weekday[d.getDay()] + "<br />");
document.write(d.getDate() + " " + month[d.getMonth()] + " " + year);
</script>
<div id="txt"></div>
</body>
</html>