Файл: Маълумотлар типи (примитив ва объект) Массивлар Функция ва методлар.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 06.11.2023
Просмотров: 162
Скачиваний: 1
СОДЕРЖАНИЕ
МАЪЛУМОТЛАР ТИПИ (ПРИМИТИВ ВА ОБЪЕКТ)
FLASH КЛИПЛАРИДАН ВЕБ-САХИФАЛАРНИ ЮКЛАШ
- электростатик майдонларининг кучланганлиги;
- механик ва электр қурилмаларида ишлаганда ҳосил бўладиганшовқин;
электр токидан жароҳатланиш хавфи;
Хоналарда ишчи ўринларини ташкил этиш
Видеомониторга (видеотерминалга — ВДТ) қўйиладиган талаблар
Видеомонитор қуйидаги талабларга жавоб бериши керак:
белги тасвирининг кескин фарқ қилиши 0,8 мм. дан кичик бўлмаслиги;
экран юзаси хираланишдан сақловчи қопламага эга бўлиши;
ишловчи кўзидан экрангача бўлган оралиқ 80 см чэгарасида бўлиши;
тасвирнинг паст частотаси 0,05—1,0 Гс, титраши 0,1 мм чегарасида бўлиши;
Компютер техникаси билан ишловчиларнинг меҳнат қилиш ва дам олиш тартиби
// тешириши оддий усулидан фойдаланамиз
trace (" (b instanceof String) = " + (b instanceof String));
қуйидаги натижани оламиз:
a = Объектли қатор
a.x = 4
(a instanceof String) = true
b = Примитивли қатор
b.x = undefined
(b instanceof String) = false
Шу икки усул объектли ва примитив типларнинг фарқини кўрсатади.
МАССИВЛАР
Flash нинг 4-версиясида массивлар хали қўлланилмас эди. Массивлар керак бўладиган масаларда қуйидаги мисол каби ортиқча кодлар ёзилар эди:
for (var i=0; i<5; i++) set ("a" + i, 5*i + 1);
// аниқ бир элементга мурожаат қилиш
trace ("a2 = " + a2);
i = 4;
// ўзгарувчига бириктирилган номер орқали мурожаат қилиш.
trace ("a" + i + " = " + eval ("a" + i));
ва қуйидаги натижага эга бўлинарди:
a2 = 11
a4 = 21
Flash нинг 5- версиясидан бошлаб янги ўзгарувчилар типи – массивлар киритилди. Массивлар бир неча хусусиятларни ўзига бирлаштирган объектларга айтилади. Қуйида бир ўлчовли Fruit массиви келтирилган:
Fruit[0] = "олма"
Fruit [l] = "нок"
Fruit[2] = "бехи"
Fruit[3] = "анор"
Массивлар бир ва кўп ўлчамли массивлар бўлиши мумкин. Массив хосил қилиш учун Array объектидан фойдаланилади. Массивлар new орқали хосил қилинади:
a_array = new Array (2,3,"AAA",4,8);
b_array = new Array (10);
c_array = new Array ();
// аниқ бир элементга мурожаат қилиш
trace ("a_array[1] = " + a_array[1]);
i = 3;
// ўзгарувчига бириктирилган номер орқали мурожаат trace ("a_array[" + i + "] = " + a_array[i]);
c_array[7] = 9;
// махсус хусусият length орқали массивнинг узунлигини //аниқлаш мумкин.
trace ("a_array.length = " + a_array.length);
trace ("b_array.length = " + b_array.length);
trace ("c_array.length = " + c_array.length);
Бу код қуйидаги натижани келтириб чиқаради:
a_array[1] = 3
a_array[3] = 4
a_array.length = 5
b_array.length = 10
c_array.length = 8
Саралаш. Саралаш алгоритмларини хамма дастурчилар ўрганишади, аммо ундан фойдаланишмайди. Чунки замонавий дастурларда саралашнинг хамма тури бириктирилган. ActionScript да массивларни тайёр саралаш функциялари орқали саралаш мумкин. Масалан сонли массивларни саралайлик:
a_array = [3, 0.5, +3, -3, 1e12, 1e-12, 12, 112];
a_array.sort ();
trace (a_array);
ва натижа қуйидагича:
-3,0.5,1000000000000,112,12,1e-12,3,3
Натижани нотўғри бўлишига сабаб sort () функцияси сонларнинг фақат биринчи рақамига қараб саралайди. Худди қаторли ўзгарувчиларни сарагандек. Натижа тў0ри бўлиши учун уни ўзгартирамиз:
a_array.sort (function (a,b){return a-b;});
ва тўғри натижага эга бўламиз:
-3,1e-12,0.5,3,3,12,112,1000000000000
Қаторли массивларни саралаш муаммо туғдирмайди:
s_array = ["bulb", "bulb.", "c", "CC", "ground"];
s_array.sort ();
trace (s_array);
натижа
CC,bulb,bulb.,c,ground
ФУНКЦИЯ ВА МЕТОДЛАР
ActionScript дастурлаш тилида берилган параметрлар бўйича хисоб-китобларни амалга оширувчи 25 та функция мавжуд:
-
Boolean. Параметрларни логик ўзгарувчига ёки скаляр қийматга айлантиради. -
escape. Талабга мувофиқ кодланган URL адресга мос равишда қаторли ўзгарувчини кодлайди. -
eval. Ифоданинг қийматини хисоблайди ва натижани қайтаради. -
false. Логик ифода, false га тенг, яъни 0 қийматга эга. -
getProperty (target, property). Target объектининг property хусусиятининг жорий холати хақидаги информацияни қайтаради. -
getTimer. .SWF (Shockwave Flash) кенгайтмали файлнинг ўйнаш бошлангандан бери ўтган вақтни (миллисекундларда) кўрсатади. -
getVersion. Жорий Flash плейрнинг версияси номерини қайтарди. -
globalToLocal. Координатларни глобал сиситемадан локал системага ўгириб бериш. -
int (сон). Сонни бутун қисмини ўзида сақлаб қолиб каср қисмини ташлаб юбориш. -
isFinite. Чекли қиймат (true) ва чексиз қиймат (false)ларни форқловчи логик қиймат. -
isNaN (). Параметр сон (false) ёки сон эмас (true)лигини аниқлаш. -
keycode. Символнинг клавиатурадаги код қийматини аниқлаш (ASCII—код билан адаштириш мумкин эмас). -
localToGlobal. Локал системадаги клипни глобал системадаги координатига айлантириш. -
maxscrol 1. Бу хусусият фақат ўқиш учун. Текст майдонининг максимал айлантиришлар сони. -
newline. Кареткалар қайтаради. Бу функция chr (13) ифода билан бир маънога эга. -
Number. Ўзгарувчининг қийматини сонли кўринишга ўтказиш. -
parseFloat (қатор). Қаторли параметр қабул қилади ва уни сузувчи вергулли сонга айлантиради. -
parselnt (). Ифоданинг қийматини бутун сонга айлантириш. -
random (number). 0 дан (number-1) гача диапазонда тасодифий сонларни генерация қилади. -
String (). Ифода қийматини қаторли кўринишга келтириш. (String объекти билан чалкаштириш мумкин эмас) -
targetPath. Объект йўлини қаторли ўзгарувчига бирлаштиради. -
true - Логик ифода. У “тўғри” қийматига ёки 1 сонли қийматга эга.
Агар биз глобал функция эълон қилмоқчи бўлсак, қуйидагига ўхшаш код ёзамиз.
_global.printSomeStringWithFrame = function (str){
trace ("***************************");
trace (str);
trace ("***************************");
}
// функцияни текшириб кўрамиз
printSomeStringWithFrame ("рамкалар орасидаги қатор");
ва натижа қуйидагча:
***************************
рамкалар орасидаги қатор
***************************
_global объекти билан элон қилинган хар қандай функция хамма объектда ва клипда чақирилиши мумкин.
toString () методи ёрдамида мисол кўрайлик:
obj = {a: 10, b: "Str"};
obj.placeFieldsToStr = function (){
var str;
str += "this.a = " + this.a + "\n";
str += "this.b = " + this.b;
return str;
}
// placeFieldsToStr чақирилмоқда ва натижа * лар // билан чегараланмоқда.
obj.toString = function (){
var str = "***************************\n";
str += this.placeFieldsToStr ();
return str + "\n***************************";
}
// trace toString ()объектидан чақирилмоқда
// ва натижани текширамиз.
trace (obj);
ва натижани кўришимиз мумкин:
***************************
this.a = 10
this.b = Str
***************************
(toString instanceof Object) ифоданинг қиймати true бўляпти. Демак функция- бу объект. Obj объекти методларида кўп марта this оператори ичақирилмоқда. This-жорий метод ичида худди шу майдоннинг бошқа методлари ва функциялари билан ишлаш учун қўлланилади. This сўзи ташлаб кетилса хосил қилинган функцияга мурожаат қилинган хисобланади. Агар this ёзилмаган бўлса хам ActionScript хатолик кўрсатмайди ва керакли натижага эришиб бўлмайди.
Date объекти
ActionScript дастурлаш тилидага энг кўп методга эга бўлган объектлардан бири Date объектидир. Аммо уни асосан икки мақсадда-кунни ва вақтни олиш ва ўрнатиш учун ишлатилади. Бу объект хам махаллий, хам Гринвич стандарт вақт бирлигида ишлай олади. Веб – сахифалар юкланаётганда кўпинча вақтга боғлиқ информация ишлатилади. Бу вақт JavaScript тилида аниқланади. Хозирда кўплаб сайтлар фақат Flash дастурида ишланмоқда. Бундай холатда веб – сахифа юкланаётганда Date объекти компьютер соатидан вақтни аниқлайди. Date объекти конструкторга эга бўлиб, икки хил усулда хосил қилинади. Қуйида биринчи холат келтирилган:
hotDate = new Date ();
шундан кейин Date классига тегишли бўлган hotDate объекти хосил бўлади. Бундан ташқари бир неча параметр бўлиши хам мумкин. Қуйида параметрли мисол келтирилган:
launchDate= new Date (2004, 5, 6, 6, 22, 43, 998)
бу конструкторда 2004 йил 6 июнь соат 6, 22 минут, 43 секунд, 998 миллисекунд вақт ва кун ўрнатилган. Умуман конструктор параметри қуйидагича берилади:
-
Йил. Йигирманчи аср йиллари 0 дан 99 гача рақамларади. Қолган асрлар йиллари эса худди юқоридаги каби йил номери тўла кўрсатилади. -
Ой. Календарга мос равишда январ ойидан декабр ойигача бўлган хамма ойлар 0 дан 11 гача сонлар билан берилади. -
Кун. Календардаги ой кунлари 1 дан 31 гача рақамлаб чиқилган. -
Соат. 0 дан 23 гача рақамлар соатни билдиради. -
Минут. Минутлар 0 дан 59 гача қийматланган. -
Секунд. Минутлар каби секундлар хам 0 дан 59 гача рақамланган. -
Миллисекунда. Миллисекундни ифодалаш учун 0 дан 999 гача диопазондаги сонлар ишлатилади.