Ќазаќстан республикасы білім жєне ѓылым министрлігі



бет22/33
Дата04.10.2022
өлшемі1.02 Mb.
#461922
түріПрограмма
1   ...   18   19   20   21   22   23   24   25   ...   33
УМК Web.тех Инф каз

Негізгі әдебиеттер: [1] – 31- 800 б, [2] – 15-600 б.
Қосымша әдебиеттер: [] – б, [] – б.
Бақылау сұрақтар:
1. Массивтер не үшін қажет?
2. Массивке элементтерді қосуға болады ма?
3. Массивті іріктеу нені білдіреді?
4. Массивтерді біріктіруге болады ма?
5. Массив қалай құрылады?


4.5 JavaScript: объектілер . (2 сағат).
Math объектісі. String объектісі.. Date объектісі. Boolean және Number объектілері.
Әдетте JavaScript-те объектілер көп санды есептерді шешу үшін қолданылады, JavaScript тілін объектілік-бағытталған деп атайды. Объектілер мәліметтер (атрибуттар) мен әдістерді (тәртіп амалы) өзімен бірге алып жүреді (инкапсуляциялайды). Программалар анықталған интерфейстер көмегімен объектілермен өзара әрекеттеседі. WWW браузерлерінде өте көп объектілер бар, олар Html құжат элементтерін инкапсуляциялайды. JavaScript-та кейбір программаларды қолданып, Html құжат элементтерімен өзара әрекеттесе алатын JavaScript-та программист құрушыға атрибуттар мен тәртіп амалын ұсынады. Объект әдісі объекті есімі жазбасымен, нүкте операторымен және әдіс есімімен шақырылады. Әдіс есімінен кейін жақшада әдіс аргументі көрсетіледі (немесе үтірмен бөлінген аргументтер тізімі. Объект – бұл JavaScript-тің басты кілттік мәліметтер типі. Кез келген басқа мәліметтер типінде объектілік "орамы" – wrapper болады. Осы немесе басқа типтің айнымалы мәніне қатынаудан бұрын объектіде айнымалыға конвертирлеу жүргізіледі, тек содан кейін ғана мәндерде әрекеттер орындалады. Object мәліметтер типі объектілерді өзі анықтайды .
Бұл бөлімде біз негізгі үш кезеңге тоқталамыз:
Объект түсінігі
Объект прототипі
Object - объектісінің әдісі
Біз бұл кезеңдерді толық қарастырмаймыз, себебі JavaScript-та программалауда браузер жағында JavaScript тұрғызған құралдармен шектеледі, бірақ бұл құралдардың барлығы объектілер болғандықтан біз немен жұмыс жасайтынымызды түсінуіміз керек.
Объект түсінігі.
Алдымен объект қолданушысы анықтаған туынды мысалды қарастырайық, содан кейін оның не екенін анықтаймыз:
function Rectangle(a,b,c,d)
{
this.x0 = a;
this.y0 = b;
this.x1 = c;
this.y1 = d;
this.area = new Function("return Math.abs(this.x0-this.x1)*Math.abs(this.y0-this.y1)");
this.perimeter = new Function("return (Math.abs(this.x0-this.x1)+Math.abs(this.y0-this.y1))*2");
}
c = new Rectangle(0,0,100,100);
document.write(c.area());
Орындалу нәтижесі:
10000
Осы мысал "Функция" бөлімінде функция құрастырушысын қолдану иллюстрациясы үшін қарастырылған болады. Мұнда біз бұл мысалды жалпы контексінде қарастырамыз.
Rectangle() функциясы - қолданушымен анықталатын Rectangle класс объектісінің құрастырушысы. Құрастырушы берілген кластың нақты объектісін құруға мүмкіндік береді. Функция – бұл кейбір әрекеттердің сипаттамасы ғана. Бұл әрекеттер орындалу үшін басқаруды функцияға беру керек. Біздің мысалда бұл new операторы көмегімен орындалады. Ол функцияны шақырады, сонымен қатар нақты объектіні құрады.
Төрт айнымалы құрылады: x0,y0,x1,y1 - Rectangle объектісінің қасиеттері. Оларға берілген класс контексі арқылы ғана қатынауға болады.Мысалы :
up_left_x = c.x0;
up_left_y = c.y0;
Қасиеттерден басқа біз JavaScript тілінің тұрғызылған конструкторын қолданып, Function() типті екі объектіні анықтадық - area және perimeter. Бұл берілген класс объектілер әдісі. Бұл функцияларды тек Rectangle класс объектілер контекстінде ғана шақыруға болады.
sq = c.area();
length = c.perimeter();
Осылайша объект - бұл қасиеттер мен әдістер жиынтығы Оларға тек берілген класс объекті құрастырушысын қолдана отырып және оның констексін пайдаланып қатынауға болады.
Практика жүзінде программист құрған объектілермен жұмыс жасау сирек кездеседі. Себебі объект нақты бетте анықталатын функция конструкторынан құрылады, және берілген бет шеңберінде ғана құрылады басқа беттерге берілмейді. Web-түйін авторы қолданушының объектілер классының кітапханасын өңдеу үшін оған өте маңызды негіз керек. Әрбір бет үшін функция жазу оңай.
Прототип. Әдетте біз JavaScript-тің тұрғызылған объектілерімен жұмыс жасаймыз. Басқа курс бөлімдерінде берілгендердің барлығы – бұл тұрғызылған объект қасиеттері мен әдістеріне қатынау. Мұнда prototype атты объект қасиеттері қызық. Прототип бұл нақты класс объекті конструкторының басқа аты. Мысалы, егер String класс объектісіне әдіс қосқымыз келсе:
String.prototype.out = new Function("a","a.write(this)");
...
"Сәлем ".out(document);
Сәлем
String класс объектісіне арналған жаңа әдісті хабарлау үшін Function құрастырушысын қолдандық. Бір кіші, бірақ маңызды ескертпе бар: Объект прототипі өзгергенен кейін туатын объектілер жаңа әдістер мен қасиеттерге ие болады: Барлық тұрғызылатын объектілер JavaScript-та программа басқару алғанға дейін құрылады, бұл prototype қасиетін қолдануды шектейді.
JavaScript тұрғызылған класс объектісіне әдісті қалай қосу керек екендігін көрсетейік. Мысал ретінде тұрғызылған Image қызмет етеді. URL суреттерін Link класындағы URL объектілері сияқты талдауымыз керек:
function prot()
{
a = this.src.split(':');
protocol = a[0]+":";
return protocol;
}
function host()
{
a = this.src.split(':');
path = a[1].split('/');
return path[2];
}
function pathname()
{
a = this.src.split(':');
path = a[1].split('/');
b = new Array();
for(i=3;i c = b.join('/');
return "/"+c;
}
Image.prototype.protocol = prot;
Image.prototype.host = host;
Image.prototype.pathname = pathname;
...
document.write("
");
document.write(document.i1.src+"
");
document.write(document.i1.protocol()+"
");
document.write(document.i1.host()+"
");
document.write(document.i1.pathname()+"
");
Оны қолданбастан бұрын конструкторды қайта анықтап алуымыз керек. HTML-parser HTML-ды талдайды және JavaScript-интерпретаторы берілгенен бұрын тұрғызылатын объектілер құрады. Осыдан білетініміз бетте объектіні JavaScript- коды арқылы көрсету керек. Осы жағдайда алдымен Image объектісін қайта анықтау жүргізіледі, содан кейін осы класстың тұрғызылатын объектісі құрылады. Explorer жұмысында бәрі нашар.Егер жолдық объектіде прототип қасиетіне ол ұрынбаса, онда Image үшін бұл қасиет анықталмаған.
Object - объектсінің әдісі. Object – бұл объект оның әдістері болады. Мұндай әдістердің үшеуін қарастырамыз: toString(), valueOf() және assign().
ToString() әдісі объектінің символдар жолына түрлендіруін жүзеге асырады. Ол JavaScript программаларында қолданылады, бірақ анық емес. Мысалы, сандық немесе жолдық объектілерді шығарғанда. ToString()-ті функцияларға қолдану қызықты:
document.write(prot.toString()+"
");
Орындалу нәтижесі:
function prot() { a = this.src.split(':'); protocol = a[0]+":"; return protocol; }
Мұнда біз прототип мысалының prot() функциясын қолданамыз. Егер осылай Image объектісін баспаға шығарсақ, келесіні аламыз :
Сурет:[object]
Осылайша toString() әдісі объекті мазмұнының жолдық эквивалентін кейбір кезде ғана қайтарады. Ол жай оның типін ғана қайтаруы мүмкін. Бұл уақытта Ехplorer "Object" қайтарады, осы кезде Navigator - "object Image" сияқты.
ValueOf() әдісі де осыған ұқсас жүреді. Бұл әдіс объект мәнін алуға мүмкіндік береді. Көп жағдайда toString() әдісіне ұқсас жұмыс жсайды. Әсіресе, егер мәнді бетке шығару керек болса:
document.write(prot.valueOf()+"
");
Орындалу нәтижесі:
function prot() { a = this.src.split(':'); protocol = a[0]+":"; return protocol; }
Көріп тұрғанымыздай нәтиже toString() әдісіндегі сияқты.
Алдынғы екі әдіске қарағанда assign() әдісі оқымай объект әдісі мен қасиетін қайта тағайындау. Берілген әдіс объектіге кейбір мәндерді беру контексінде қолданады:
object = value; <=> object.assign(value);
Мысал қарастырамыз:
c = new Image();
c.src = "../images/jsi/rept1s.gif";
b =new Image();
b.src = "../images/jsi/rept1g.gif";
Image.prototype.assign = new Function("a","this.src = a.src;");
...
Суретті бояу
Берілген мысалда біз assign() әдісін JavaScript-кодының ішінде емес әдеттегі й HTML-белгілеуде қолданамыз. Бұнда біз әдісті қолданар алдында өз функциямыз деп қайта анықтап алдық. Explorer қолданушыларын берілген жағдайда Explorer-де Image прототипін қайта тағайындай алмайтынымызды ескеруіміз керек.
Тұрғызылған объектілер: Math, String, Date, Boolean, Number объектілері. Math объект әдісі программистке әртүрлі стандартты математикалық есептеулерді орындауға көмектеседі: Math.abs(), Math.cos(), Math.exp() және т.б. Math объектісінің қасиеті болып, жиі қолданылатын математикалық тұрақтылар табылады: Math.LN2, Math.PI, Math.SQRT2 және т.б. String объектісі символдар жолдары үшін атрибуттар мен әрекет әдістерінен тұрады. String объектісі үлкен әдістер жиынын ұсынады: (тәртіп амалы,әрекет амалы ): жолдан символды бөлу үшін, жолдарды біріктіру үшін (конкатенация), бастапқы жолдың ішкі жолын алу, жол ішінен ішкі жолды іздеу, жоғарғы немесе төменгі регистрге жол символдарын түрлендіру, жолды талдау. String объектісі HTML тегтерін генерациялайтын бірнеше әдістер ұсынады. Date JavaScript объектісі дата және уақытпен жұмыс істеу әдісін ұсынады. Date объектілерінің көптеген әдістері жергілікті және универсалды уақыт үшін версиялары бар. True мен false және санды булдік мәндеріне сәйкес сақтау үшін объектілер ретінде JavaScript –те Boolean және Number объектілерін ұсынылады.




Достарыңызбен бөлісу:
1   ...   18   19   20   21   22   23   24   25   ...   33




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет