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

JavaScript III част

Създаване на обекти в JavaScript

По-рано в това ръководство видяхме, че JavaScript има няколко вградени обекта като String, Date, Array и др. Кото допълнение могат да се създават и собствени обекти. Обекта представлява особен вид данни с комплект от свойства и методи. Нека да илюстрираме казаното с пример. Определен човек е обект. Свойствата са стойности свързани с този обект. Свойствата на даден човек включват име, ръст, тегло, възраст, цвят на кожата, цвят на очите и т.н. Всички хора имат своите свойства, но те се различават за отделните индивиди. Обекта има и методи. Методите са действията, които могат да се осъществят с даден обект. Методите на даден индивид могат да са хранене, спане, работа, занимания и др.
Свойства
Синтаксиса за достъп до дадено свойство на определен обект е:

    име_наОбекта.свойство_наОбекта
Към обекта могат да се добавят свойства като просто се задава някаква стойност. Създаваме обект singlePerson, на който ще зададем свойства, а именно - име (name), фамилия (family), възраст (age) и ръст (height) (виж примера в браузъра):
<!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">
singlePerson=new Object();
singlePerson.name="Иван";
singlePerson.family="Иванов";
singlePerson.age=28;
singlePerson.height=178;

document.write(singlePerson.name + " " + singlePerson.family + ", "+ singlePerson.age + " години, " + "ръст " + singlePerson.height);
</script>
</body>
</html>
Методи
Обектът може да съдържа методи. Методът може да се извика по следния начин:
    singlePerson.име_наМетода();
Създаване на шаблон за даден обект
С шаблона се определя структурата на обекта. В примера по-долу, този шаблон се създава в секцията head чрез функция singlePerson с параметри (name,family,position,age,height). Вътре в функцията са определени всички свойства за еднородни обекти, като вместо име на обекта се записва this, след него свойството, а вместо стойност се записва името на свойството (this.свойство=свойство;). След това се създава променлива officeStaff във вид на матрица (new Array), в която са записани като обекти служители със съответните стойности. Накрая, в секцията body с помощта на цикъл for..in изтегляме и показваме състава на офиса с техните данни (виж примера в браузъра) :
<!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>
<script type="text/javascript">

function singlePerson(name,family,position,age,height)
{
this.name=name;
this.family=family;
this.position=position;
this.age=age;
this.height=height;
}
var x;
var officeStaff = new Array();
officeStaff[0]=new singlePerson("Иван","Иванов","директор",28,178);
officeStaff[1]=new singlePerson("Петър","Петров","мениджър",45,181);
officeStaff[2]=new singlePerson("Ирина","Иванова","специалист",18,165);
officeStaff[3]=new singlePerson("Дарина","Петрова","секретар",22,161);

</script>
</head>
<body>
<script type="text/javascript">
for (x in officeStaff)
{
document.write(officeStaff[x].name + " " + officeStaff[x].family + " - " + officeStaff[x].position + ", " + officeStaff[x].age + " години, " + "ръст " + officeStaff[x].height + "<br />");
}
</script>
</body>
</html>
Ръководството е съставено от Никола Меранзов
0888 414 809
Този имейл адрес е защитен от спам ботове. Трябва да имате пусната JavaScript поддръжка, за да го видите.
http://dimarini.net