Айнымалылар

Айнымалылар ақпараттарды сақтау үшін қолданылады. Айнымалылар сценарийлерде идентификаторлардың көмегі арқылы көрсетіледі. Идентификатор латын әріптерінен, цифрлардан, астын сызу белгісінен тұрады және ол міндетті түрде латын әрпінен немесе астын сызу белгісінен басталуы керек, мысалы, _my_test, test_l. Айнымалының типі сценарийде сақталған ақпараттың типіне байланысты болып, сол мәліметтің типі өзгерсе, айнымалының типі де өзгереді. Айнымалы var операторы арқылы анықталуы тиіс, мысалы:

var test1

Мұнда test1 айнымалысының типі әлі анықталмаған, ол айнымалыға белгілі бір мән меншіктеген кезде ғана айқындалады.

var операторын айнымалыны инициализациялағанда да қолдануға болады, мысалы

var test2=276

Мұнда test2 айнымалысының типі анықталды және ол 276 мәніне тең болды.

Меншіктеу операторынан кейін айнымалының мәні өзгереді. Меншіктеу операторы программаның кез келген жерінде тұра береді және ол айнымалының тек мәнін ғана емес, типін де өзгерте алады. Меншіктеу операторы мынадай түрде беріледі:

а=b

мұндағы а – біз бір мән бергіміз келетін айнымалы, b – айнымалының жаңа мәнін анық­тайтын өрнек.

Сценарийде мынадай айнымалылар жазылған болсын делік:

var n=3725

var x=2.75

var p=true

var s="Программа орындалды"

n және х айнымалыларының типі number, р айнымалысының типі – логикалық, s айнымалысының типі string. JavaScript тілінде барлық стандартты және тұтынушының өзі анықтайтын функциялар үшін function типі анықталған. JavaScript объектілері үшін object типі бар. Оbject типті айнымалылар объектілерді сақтайтындықтан, оларды жай объектілер деп атай береді.

Сценарийлердегі <HEAD> бөлігінде және <BODY> бөлігінде де сипатталған айныма­лылар екеуінде де бірдей жұмыс істей береді, бұларды осы құжаттағы кез келген сценарий пайдалана алады. Мұндай айнымалылар глобальді (ауқымды) деп аталады, ал функция ішінде анықталған айнымалылар локальді, яғни жергілікті болып саналады.

4.4 Өрнектер

Өрнектер операциялар (амалдар) таңбаларымен біріктірілген литералдардан, айныма­лылардан және жақшалардан тұр­а­ды. Өрнектерді есептеу нәтижесінде сан (бүтін не нақ­ты), сөз тіркесі немесе логикалық типте болатын бір ғана мән шығады. Өрнектерде қолда­нылатын айнымалылар оған дейін инициалданған болуы керек. Өрнектерді есептеу кезін­де анықталмаған немесе инициалданбаған айнымалылар кездессе қате шығады. JavaScript тілінде анықталмаған мәнді белгілеу үшін null литералы қолданылады. Егер айнымалы null мәнін меншіктесе, ол инициалданған болып саналады.

Өрнек операндтардан (мәндер мен айнымалылардан) және операциялар таңбаларынан (+, -, *, /) тұрады. Мысалы, а*b формуласында а және b операндтар,­ * таңбасы – көбейту операциясы.

Операциялар унарлық (бірорындық) немесе бинарлық (екіорындық) болып екіге бөлі­неді. Өрнек +А түрінде жазылса, ондағы + – унарлық операцияны белгілейді, ал егер ол А + В түрінде берілсе, ондағы + – бинарлық операцияның орындалатынын көрсетеді. +А өрнегін есептеу А операндының мәнін есептеп, оған + операциясын қолдану дегенді білдіреді. Ал А+В өрнегін есептеу төмендегі әрекеттерден тұрады:

1. А және В мәндері есептеледі.

2. Операция 1-ші қадамда табылған операндтар мәндеріне қолданылады.

Есептелген мәннің типіне қарай өрнек арифметикалық, логикалық және тіркестік типтердің біріне жатқызылады. 4.1-кестеде көрсетілген арифметикалық операциялардың орындалу нәтижесінде өрнектер құрылады.

4.1-кесте.Арифметикалық операциялар

Операция Аталуы
+ Қосу
- Азайту
* Көбейту
/ Бөлу
% Бүтін сандарды бөлгеннен кейінгі қалдық
++ Операнд мәнін бірге өсіру
-- Операнд мәнін бірге кеміту

Өрнектегі операторлар арифметикалық операциялардың басымдылықтарына (приори­теттеріне) қарай солдан оңға қарай есептеледі. Керекті жағдайда өрнекке жақша енгізу арқы­лы операциялар реттілігін өзгертуге болады. JavaScript тілінде теңдіктің оң және сол жағында орналасқан операндтарға арифметикалық амалдар қолданып, нәтижені сол жақ­тағы операндқа меншіктейтін операторлар анықталған. Операциялардың мұндай қысқар­ған түрлері 4.2-кестеде көрсетілген.

4.2- кесте. Меншіктеу операторының қысқаша жазылу жолдары

Оператор Соған сәйкес меншіктеу операторы
X += Y X = X+Y
X –= Y X = X-Y
X *= Y X = X*Y
X /= Y X = X/Y
X %= Y X = X%Y

Қатынас операциялары кез келген типтегі операндқа қолданыла береді.

Келесі мысалда:

var х = 1;

var у;

у = (х += 2) + 1;

у айнымалысының мәні 4, ал х айнымалысының мәні – 3. Мынадай тізбекті түрдегі меншіктеулерді де пайдалануға болады:

x = y = z = t = өрнек;

Мұнда бірнеше айнымалының бәріне бір ғана мән меншіктеледі.

«+ +» және «--» операциялары тек айнымалыларға тіркеледі, оларды өрнектерге қосып жазуға болмайды.

Мынадай командалардың + + х және х + + (-- х және х --) айырмашылығы бұлар басқа командалар құрамына кіріп тұрғанда ғана есепке алынады. Алғашқысында (олар айнымалы алдында) операция айнымалыны пайдаланғанға дейін орындалады, ал соңғысында – пайдаланғаннан кейін орындалады.

х = 5; Меншіктеулерінен кейін:

у = ++ х; х және у-тің мәні 6-ға тең.

х = 5; Ал мына меншіктеулерден соң:

у = х ++; х-тің мәні 5-ке, ал у-тің мәні 6-ға тең болады.

Операция нәтижесі – салыстыру мәндері дұрыс болса, логикалық true, ал оған кері жағдайда – false мәні болып табылады. Салыстыру операциялары төмендегідей:

· < (кіші);

· <= (кіші немесе тең – артық емес);

· == (тең);

·!= (тең емес);

· >= (үлкен немесе тең – кіші емес);

· > (үлкен).

! (логикалық ЕМЕС) операциясы логикалық типтегі операндтарға қолданылады, егер операнд мәні true болса, онда!а өрнегінің мәні – false, ал егер операнд мәні false болса, онда!а = true болады. && (логикалық ЖӘНЕ) пен | | (логикалық НЕМЕСЕ) операцияларының қолданылу ережесі 4.3- кестеде көрсетілген.

4.3- кесте. Логикалық операциялардың орындалу ережелері

А В A&&B A||B
true true true true
true false false true
false true false true
false false false False

А&&В өрнегінің мәні – екі операнд мәндері де ақиқат болғанда ғана ақиқат, қалған жағдайларда жалған болады. А| |В өрнегінің мәні – кем дегенде, бір операнд ақиқат болса, ақиқат, ал басқа жағдайларда – жалған болып саналады.

Символдар тізбегінен тұратын тіркестік мәндер үшін символдарды конкатенациялау (біріктіру) операциясы анықталған. Операция «қосу» таңбасымен белгіленеді. Бұл опера­цияның нәтижесі екі операндтар тізбегінен құралатын жаңа сөз тіркесі болады, мысалы, төмендегі меншіктеу операторының орындалуы нәтижесінде

st = "озат "+"студент"

st айнымалысы "озат студент" мәнін меншіктейді. Тағы бір мысал қарастырайық. Мынадай екі оператор берілсін:

stl = "озат "; st2 = "студент"

Төмендегі операторды орындау нәтижесінде

stl += st2

st1 айнымалысы "озат студент" мәнін меншіктейді.

Операцияның басымдылығы өрнектегі амалдардың орындалу реттілігін анықтайды. 4.4-кестеде орындалу басымдылығы кему реті бойынша орналасқан операциялар тізімі қарастырылған.

4.4-кесте. Операциялардың басымдылық кестесі

Операция аты Белгіленуі
Инкремент ++
Декремент --
Терістеу !
Унарлы минус -
Көбейту *
Бөлу, қалдық табу /, %
Қосу +
Азайту -
Салыстыру <, >, <=, >=
Теңдік ==
Теңсіздік ! =
Логикалық ЖӘНЕ &&
Логикалық НЕМЕСЕ ||
Меншіктеу =, +=, -=, *=, /=, %=,! =

Жаттығулар

1. Төмендегі тұжырымдар нәтижесінде ақиқат болатын өрнек жазыңыздар:

· m бүтін айнымалысы k бүтін айнымалысына қалдықсыз бөлінеді;

· А, В және С нақты айнымалылардың мәні кемімейтін реттілік құрайды;

· үш х,у,z айнымалыларын жұптасқан түрде қарастырғанда, олардың ішіндегі ең үлкені х айнымалысы болып шыққан;

· А,В,С логикалық айнымалылары мәндерінің бірде-біреуі ақиқат емес;

· А, В, С логикалық айнымалылары мәндерінің, кем дегенде, біреуі ақиқат.

2. Берілген х және у мәндері жазықтықтағы нүкте координаталары болып табылады, төмендегі өрнектердің әрқайсысы true мәнін қабылдайтын аймақты штрих сызықпен бояңыздар:

· (X*Y>0);

· Y+X<5 && X*X+Y*Y>i;

· Y<X*X+2 || Y>6.

3. Жазықтықтағы координаталары х және у болып келген нүкте үшін, оның штрих­талған аймаққа түсуі ақиқат болып келетін формула жазыңыздар (4.1– 4.4 сурет.).

4.1- сурет. Нүкте екі шеңбермен қоршалған аймаққа түседі
4.2- сурет. Нүкте квадрат пен шеңбер аралығындағы аймаққа түседі
4.3- сурет. Нүкте көрсетілген екі секторға түседі
4.4- сурет. Нүкте ромб ішіне түседі

4.5 HTML-құжатындағы сценарий

JavaScript тілінде жазылған сценарий тікелей HTML-құжатынының ішінде <script> және </script> тәгтерінің арасына жазылады.

Қолданылатын сценарийлер тілін анықтайтын language, <script> тәгінің параметрлерінің бірі болып табылады. JavaScript тілі үшін бұл параметрдің мәні "JavaScript"-ке тең. Егер VBScript, сценарийлер тілі қолданылса, онда параметрдің мәні "VBScript" тең болуы керек. JavaScript қолданған жағдайда language параметрін жазбауға да болады, бұл тілді браузер үнсіз келісім бойынша таңдайды

Әдетте браузерлер қолдамайтын кез келген HTML тәгтерін ескерусіз қалдырады. Қолдамайтын тәгтердің мазмұнын талдаудағы браузер әрекеті парақтың дұрыс көрінбеуіне әкеледі. Мұндай жағдай болмауы үшін JavaScript тілінің операторларын <! —... —> тәгтегі түсініктеме ішіне орналастыру ұсынылады. Интерпретатор дұрыс жұмыс істеуі үшін түсініктемені жабу тәгінің --> алдына // символдарын қою керек.

Сонымен HTML-құжатына сценарий орналастыру үшін келесі түрде жазу қажет:

<script language="JavaScript">

<!--

JavaScript тілінің операторлары

//-->

</script>

Құжат ішінде бірнеше<script> тәгтері жазылуы мүмкін. Олардың барлығы ретімен JavaScript интерпретаторымен өңделеді.

Үшбұрыш ауданын есептеу

Катеттері берілген тік бұрышты үшбұрыштың ауданын анықтайтын сценарий жазу керек болсын делік. Сценарийді HTML-құжаттың <BODY> бөлігінде жазайық.

4.1- листинг. Құжаттағы бірінші сценарий:

<HTML>

<HEAD> <title> Құжаттағы бірінші сценарий /title>

</HEAD>

<BODY>

<P> Сценарий енгізілген парақ </P>

<script> <!-- //

var a=8; h=10

document.write ("Тік бұрышты үшбұрыштың ауданы: ", a*h/2)

//-->

</script>

<P>Сценарийі бар беттің соңы </P>

</BODY> </HTML>

4.5-сурет. Сценарий нәтижесі

Сценарийде екі айнымалы сипатталып инициалданады, содан соң өрнектің мәні құж­ат­қа жазылады. Сценарий нәтижесін экранға шығару үшін document объектісінің write тәсілі қолданылады. Құжатта жазылған жолдар HTML тәгтері мен JavaScript өрнектерінен тұрады.

Браузер JavaScript тілін қолдамайтын болса немесе оны сүйемелдеу алып тасталынған жағдайда, <noscript> тәгінде жазылған сөз тіркесі экранға шығарылады. Бұл тәг <script>... </script> тәгтерінен кейін жазылады.

Келесі мысалдарда браузер JavaScript тілін толық сүйемелдейді деп есептейміз.

4.6 Функцияларды сипаттау және пайдалану

Программа құрғанда ондағы логикалық тәуелсіз бөліктерді (программа ішіндегі под­прог­раммалар) жеке-жеке бөліп қарауға болады. Программаны мұндай бөліктерге бөліп қарастыру оның жұмысын түсінуді жеңілдетеді. Программаны ішкі подпрограм­маларға бөлу оны түзету ісін жеңілдетеді. Оның үстіне бір жазылған подпрограмманы әр түрлі программаларда қолдануға болады. Көптеген программалау тілдерінде подпрограммалар функциялар, модульдер және т.б. көмегі арқылы жүзеге асырылады.

Функция – JavaScript тілінің негізгі элементі. Функция мынадай түрде сипатталады

function F(v) {S}

мұндағы F – функцияны шақыруға болатын ат тағайындайтын функция идентификаторы; v – үтір арқылы бөлініп жазылатын функция параметрлерінің тізімі; S – нәтиже алу үшін орындалатын іс-әрекеттерден тұратын функция тұлғасы, яғни операторлар тізбегі. Міндет­ті түрде жазылмайтын return операторы функцияның программаға қайтарылатын мәнін анықтайды.

Бір функцияның сипаттамасы басқа бір функция сипаттамасы ішіне жазылмайды. Фун­к­­ция параметрлері оның ішкі операторларында, яғни тұлғасында қарапайым айныма­лылар рөлін атқарады, бірақ бұл параметрлерге бастапқы мәндер функцияны шақырғанда ғана беріледі.

Егер сипаттама мынадай түрде болса:

function F(vl,v2,...,vn) {S}

онда функцияны шақыру мынадай болуы керек:

F(el,e2,...,en)

мұндағы el,e2,...,en – параметрлердің нақты (нақтық) мәндерін беретін өрнектер. Функция сипаттамасында көрсетілген vl,v2,...,vn параметрлері функцияны шақыру кезінде el,е2,...,en сияқты нақты параметрлерді бергеннен кейін мән қабылдайтын болғандықтан, формальді параметрлер деп аталады. Егер функцияда параметрлер болма­са, функция сипаттамасы мынадай түрде болады:

function F() {S}

Операторда функция атынан соң, жақшаның болуы міндетті, яғни функцияны шақыру мына түрде болуы керек:

F()

Көбінесе барлық анықтаулар мен функциялар құжаттың <HEAD> бөлігінде беріледі. Бұл құжатты браузерге жүктегенде, оны интерпретациялауды және барлық функциялар­дың компьютер жадында сақталуын қамтамасыз етеді.

Келесі мысалда катеттері берілген тікбұрышты үшбұрыш ауданын есептеудегі care функциясы құжаттың тақырып бөлігінде сипатталған.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: