UF

Операторлар, өрнектер, функциялар

 

Операторлар: арифметикалық әрекеттер, меншіктеу, инкрементті, декрементті. Шартты өрнектер *

Қатарлы операциялар *

Меншіктеудің биттік операциялары *

Салыстыру операторлары *

Операциялардың  үлкендігі *

Функциялар *

if шартты операторы *

for циклы

while циклы

Циклдардың орындалуын үзу операторлары

 

 

Операторлар: арифметикалық әрекеттер, меншіктеу, инкрементті, декрементті. Шартты өрнектер

JavaScript-тегі арифметикалық әрекеттер операторлары дәл С және Java-дағы операторлар секілді: қосу"+", азайту "-", көбейту "*", бөлу"/", бүтін санды бөлгендегі қалдық"%".

Бұл операторлар кез-келген сандық өрнекте кездеседі.(Назар аударыңыз! Олар сондай-ақ қатарлы өрнектерде сандарды автоматты түрде қатарға айналдыру жағдайларында кездеседі).

JavaScript-тегі меншіктеу операторлары С және Java-дағы секілді:

"=", "+=", "-=", "*=", "/=", "%="

x=y,басқа тілдердегі секілді "х" айнымалысына "y" айнымалысының мәнін меншіктейміз.

Келесі операторлар С тілінің операторларының синтаксисіне ұқсас синтаксиске ие:

 

y+=x эквивалентті y=y+x

y-=x эквивалентті y=y-x

y*=x эквивалентті y=y*x

y/=x эквивалентті y=y/x

y%=x эквивалентті y=y%x – бөлгендегі қалдық y-ті   x-ке.

Шартты өрнек келесі түрде болады:

(шарт)?мән1:мән2

Егер шарттың мәні true болса,онда шартты өрнектің мәні мән1,болмаса – мән2 болады. Шартты өрнекті қарапайым өрнекті қолдануға болатын барлық жерде қолдануға болады.

Мысал:

a=(b<1)?0:(x-1)+c

 

Инкрементті және декрементті операторлар С тілінен алынған синтаксиске ие:

"х++", "++х", "х--", "--х".

Өрнектер:

y=x++ екі меншіктеуге эквивалентті: y=x; y=y+1,

y=++x екі меншіктеуге эквивалентті: x=x+1; y=x,

y=x-- екі меншіктеуге эквивалентті: y=x; x=x-1,

y=--x екі меншіктеуге эквивалентті: x=x-1; y=x.

 

Қатарлы операциялар

 

Қатарлармен жұмыс істеуге арналған бірнеше операторлар бар:

 "+" - s1+s2 қатарларын қосу (конкатенация) s1 қатарының символдарының кезектілігінен одан кейін s2 қатарының символдарынан тұратын қатарды береді.

eval(s) – JavaScript-тің ішкі қосылған функциясы. Ол JavaScript-тің бір немесе бірнеше операторларынан (нуктелі үтір арқылы) тұратын аргументпен – s қатарымен  берілген кодты орындайды.Бұл функцияны тек операторды орындауға ғана емес,сондай-ақ өрнекті есептеуге де қолдануға болады.  Ол берілген кодтағы соңғы есептелген өрнектің мәнін береді.  eval(s) функциясы қолданушымен енгізу пункттеріне енгізілген мәндерді есептеуге,сонымен қатар JavaScript-бағдарламада орындалатын кодты динамикалық модификациялауға мүмкіндік береді. parseInt және parseFloat функцияларынан көрі жалпы.

parseFloat(s) – JavaScript-тің ішкі қосылған функциясы. S қатарында орналасқан қатардың басынан санға жатпайтын бірінші символға дейінгі заттық санды (Float типті) табады. Егер сан табылмаған болса, NaN (“Not a Number”) мәнін береді.

 parseInt(s) – бұл да бүтін сандар үшін (Integer). Бұл жағдайда негізі автоматты табылады.

parseInt(s,n) –  бұл да бүтін негізі n (от 2 до 36) сандар үшін.  n=0 болған кезде  –parseInt(s) секілді. Бұл жағдайда негізі автоматты табылады.

 

Меншіктеудің биттік операциялары

 

Биттік меншіктеудің бірнеше операторлары бар:

х<<=n эквивалентті x=(x<<n) — x бүтін санының екілік түрінің оңға қарай n битке жылжуы;

x>>=n эквивалентті x=(x>>n )— x бүтін санының белгілік битінің сақталуы бойынша  екілік түрінің оңға қарай n битке жылжуы (қосымша кодта теріс сандарда бірінші бит бір болып табылады. Жылжудан кейін бірінші биттің орнына 1 жазылады және сан теріс болып қала береді );

x>>>=n эквивалентті x=x>>>n — x бүтін санының алдыңғы 0 бар екілік түрінің оңға қарай n битке жылжуы  (Жылжудан кейін бірінші биттің орнына 0 жазылады және сан оң болады);.

Барлық өрнек (бізде— "x") сол жақта 32-биттік бүтін санға айналады,осыдан кейін керекті жылжу орындалып,алынған сан өрнек – шешімнің типіне (бізде бұл тағы да"x") келтіріледі және меншіктеу орындалады.

 

Мысалдар:

1) 9<<2 36 береді, себебі  1001 жылжуы  (екілік жүйедегі 9 саны) 2 битке солға жылжиды

береді 100100, яғни 36. Жетпей жатқан биттер  0-мен толтырылады.

9>>2 береді 2, себебі 1001 жылжуы  (екілік жүйедегі 9 саны) 2 битке  оңға жылжиды

береді 10, яғни  2. Жетпей жатқан биттер  0-мен толтырылады.

"&" — биттік AND — "ЖӘНЕ";

"|" — биттік OR — "НЕМЕСЕ";

"^" — биттік XOR — "ИСКЛЮЧАЮЩЕЕ НЕМЕСЕ".

 

Барлық операциялар сандардың екілік берілуімен орындалады,алайда нәтиже ондық түрде беріледі.

Мысалдыр:

15&9 9 қайтарады, себебі (1111) AND (1001) 1001-ге тең;

15|9  15 қайтарады, себебі (1111) OR (1001) 1111-ге тең;

15^9 6 қайтарады, себебі (1111) XOR (1001) 0110-ге тең.

Логикалық өрнектер:

"&&" — логикалық AND — "ЖӘНЕ";

"||" — логикалық OR — "НЕМЕСЕ";

"!" — логикалық NOT — "ЕМЕС".

 

Мысал:

(a>b)&&(b<=10)||(a>10)

 

JavaScript-те әрқашан логикалық өрнектердің қысқартылған тексерілуі орындалады:  B1=false болғандағы B1&&B2 операндасында B2 бағасы орындалмайды және  false мәні қайтарылады. B1=true болғанда B1||B2 true болып табылады. Бұл кезде логикалық өрнектің анализі солдан оңға қарай болады және барлық өрнектер бағаланғаннан кейін нәтиже қайтарылады. Сол себепті B2 ретінде функция болса,ол шақырылмайды және егер ол қосымша эффектілер беру керек болса онда бұл қателікке алып келуі мүмкін.

 

Салыстыру операторлары

 

"= =" -"тең";

">" -"артық";

"<" -"кем";

">=" -"артық немесе тең";

"<=" -"кем немесе тең";

"!=" -"тең емес ".

 

 

Салыстыру операторлары тек сандық емес,сондай-ақ қатарлы өрнектерге де қолданылады. Бұл жағдайда қатарлар тең болып есептеледі,егер олардың барлық символдары сәйкес келсе және бірдей реттілікте болса (бос орын символ ретінде есептеледі). Егер қатарлар түрлі ұзындықта болса,онда ұзындығы үлкен қатар үлкені болып табылады. Егер олардың ұзындықтары сәйкес келсе,онда солдан оңға қарай  көру кезінде  номері үлкен символ үлкені болып табылады (a < b < c < .... < z < A < ... < Z).

Қатарларды қаттауға болады,егер S1="это ", S2="моя строка", онда S1+S2 тең болады "это моя строка".

Операторлардың приоритеті (кішілерден бастап; бір қатарда үлкендік бірдей):

 

"+=", "-=", "*=", "/=", "%=", "<<=", ">>=", ">>>=", "&=", "^=", "|=".

 

Операциялардың  үлкендігі

 

Шартты өрнек: "?:";

Логикалық  "НЕМЕСЕ": "||";

Логикалық  "ЖӘНЕ": "&&";

Биттік  "НЕМЕСЕ": "|";

Биттік  "XOR": "^";

Биттік  "И": "&";

Теңдікке салыстыру "= =", "!=";

Салыстыру : "<", "<=", ">", ">=";

Биттік жылжу: "<<", ">>", ">>>";

қосу, азайту: "+", "-";

көбейту, бөлу: "*", "/";

терістеу, инкремент, декремент: "!", "~", "++", "--";

жақшалар: "( )", "[ ]".

 

Функциялар

 

JavaScript-те С және  Java-дағы секілді процедуралар және процедура – функциялар  функциялар деп аталады. Функция декларациясы :

Function резервтелген сөзінен;

Функция атынан;

Домалақ жақшада үтірлермен бөлінген аргументтер тізімінен;

Фигуралық жақшадағы функция денесінен тұрады.

 

 

function myFunction(arg1, arg2, ...)

{

...

Операторлардың кезектілігі

...

}

myFunction — функция аты, arg1, arg2 — формальді параметрлердің тізімі.

Мысал:

function Factorial(n)

{

if((n<0)||(round(n)!=n))

{

alert("Factorial функциясы  "+n аргументінде анықталмаған);

return NaN;

}

else

{

result=(n*Factorial(n-1));

return result;

}

}

return резервтелген сөзінің көмегімен функция мәнді қайтармауына болады.

 

Мысал:

function Greeting(s)

{document.write("Hello,"+s+"!");

}

Функцияны шақыру нақты параметрлермен орындалады.

Мысал:

Factorial(2+1);

— қандай да бір өрнектің ішінде  6 қайтарады, ал

Greeting("world");

—экранға  "Hello, world!" қатарын шығарады..

Әрбір функция, мысалы myFunction, аты myFunction болатын объект болып табылады,оның аргументтері  аты arguments массиві ретінде сақталады , аргументтерге былай қол жеткізуге:

myFunction.arguments[i], i —аргумента номері (нумерация 0-ден басталады).

Нақты параметрлердің саны тең немесе функцияның сипатталуындағы формальді параметрлердің санынан көп болуы керек. Функцияны шақыру кезінде берілген аргументтердің шынайы саны myFunction.arguments.length өрісінде сақталады және осы өрістің меншіктелуі арқылы динамикалық өзгеруі мүмкін.

 

 

 

Мысалы:

Құжатта  HTML  форматындағы тізімді шығару. Бұл жерде бірінші аргумент  (ListType) реттелген тізім үшін "о" немесе "О" мәні, ал реттелмеген үшін "u" или "U" мәнге ие болады.  

function myList(ListType)

{

document.write("<"+ListType+"L");

for(var i=1; i < myList.arguments.length; i=i+1)

{document.write("<LI>"+myList.arguments[i]);

}

document.write("</"+ListType+"L>");

}

Текстте осы функцияның  HTML құжатын шақыру:

<script>

myList("0", "один", 2, "3")

</script>

Текстті шығаруға алып келеді:

бір

2

3

 

if шартты операторы

 

if операторының синтаксисінің бірінші нұсқасы:

if(шарт)

{

бекіту

}

(Бекіту деп оператор немесе операторлардың кезектілігін айтамыз)

b)  if операторының синтаксисінің екінші нұсқасы:

if(шарт)

{

бекіту1

}

else

{

бекіту2

}

Шартты операторды қолдану мысалы:

function checkData()

{

if (document.form1.threeChar.value.length==3)

{return true;

}

else

{alert('3 символды шығарыңыз');

return false;

}

}

 

for циклы

 

for(инициализация секциясы; шарт секциясы; есептегіштердің өзгеру секциясы)

{

бекіту

}

Секциялардың әрбірі бос болуы мүмкін. Инициялизация секцияларында және есептегіштердің өзгеруінде өрнектердің кезектілігін үтірлермен бөліп жазуға болады. Циклдың орындалуы келесі түрде болады. Бірінші болып инициялизация секциясы орындалады. Содан кейін шарт тексеріледі.егер шарт true болса, онда цикл денесі орындалады,ал одан кейін есепетгіш өзгеру секциясы. Егер шарт false болса, онда циклдың орындалуы тоқтатылады. Мысал :

function HowMany(SelectObject)

{

var numberSelected=0

for (i=0; i< SelectObject.options.leght; i++)

{

if (SelectObject.options[i].selected==true) numberSelected++;

}

return numberSelected;

}

for  операторы объектінің барлық өрістерін жинау үшін қолданылады (объектілік модель туралы бөлімді қараңыз)

 Синтаксис:

for(in объект айнымалысы)

{

өрнек

}

Бұл жағдайда объекттегі көрсетілген айнымалының барлық мүмкін мәндері жиналады және олардың әрқайсысы үшін бекіту орындалады.

Мысал:

function student(name, age, group)

{

this.name=name;

this.age=age;

this.group=group;

}

function for_test(myObject)

{

for(var i in myObject)

{

document.write("i="+i+" => "+myObject[i]+"/n");

}

};

Helen=new student("Helen K.", 21, 409);

for_test(Helen);

Экранға шығару:

i=0 => Helen K.

i=1 => 21

i=2 => 409

 

 

while циклы

 

while(шарт)

{

өрнек

}

while циклының орындалуы шартты тексеруден басталады. Егер ол  true болса, онда цикл денесі орындалады,болмаса басқару циклдан кейінгі операторға беріледі.

While операторын қолдану мысалы:

n1=10

n=0

x=0

while(n<n1)

{

n=n+1;

x=x+n;

}

 

 

 

Циклдардың орындалуын үзу операторлары

 

for немесе while операторларының ағымдық циклының орындалуын тоқтату үшін  break операторы қолданылады.

Break операторын қолдану мысалы:

function test(x)

{

var j=0;

var sum=0;

while(n<n1)

{

if(n==x)

{ sum=x;

break;

}

sum=sum=n;

n=n+1;

}

return sum;

}

continue операторы ағымдық итерацияның орындалуын for немесе while ішінде тоқтатады және келесі итерацияның басына өтуді шақырады.

 

Continue операторын қолдану мысалы:

function test1(x)

{

var j=0;

while(n<n1)

{ if(n==x)

{ sum=x;

continue;

}

sum=sum=n;

n=n+1;

}

return sum;

}

 

Әдебиет

  1. Т.Кенцл. Форматы файлов Internet./Пер. с англ. - СПб: ПИТЕР, 1997.-320 с.
  2. А.В.Фролов, Г.В. Фролов. Сервер Web своими руками. Язык HTML, приложения CGI и ISAPI, установка серверов Web для Windows. –М., ДИАЛОГ-МИФИ,1998.-288 с.
  3. Дж.Мейнджер. JavaScript: основы программирования: Пер.с англ. – Киев:Издательская группа BHV, 1997.- 512 с.
  4. А.В.Фролов, Г.В. Фролов. Сценарии JavaScript в активных страницах Web. –М., ДИАЛОГ-МИФИ,1998.-284 с.
  5. Р.Дарнелл. JavaScript: Справочник. – СПб: ПИТЕР, 1998.-192 с.
  6. С.Дунаев.INTRANET-технологии. –М., ДИАЛОГ-МИФИ,1997.-288 с.
  7. А.Федоров. JavaScript для всех. – М.: КомпьютерПресс, 1998.-384 с.
  8. С.Айзекс DynamicHTML:пер. с англ.-СПб.-BHV-Санкт-Петербург,1998.-496 с.

 

Мәлімет сізге көмек берді ма

  Жарияланған-2014-11-03 19:45:22     Қаралды-9182

20 ҒАСЫРДЫҢ НЕГІЗГІ ӨНЕРТАБЫСТАРЫ

...

20 ғасырдың негізгі өнертабыстары, оларсыз қазіргі адам өмір сүре алмайды

ТОЛЫҒЫРАҚ »

САМАУЫРДЫҢ ІШІНЕ ҚАҚ ТҰРСА

...

Cамауырдың ішіне қақ тұрса

ТОЛЫҒЫРАҚ »

ШАШ КҮТІМІ

...

Адамның шашы бірде түсіп, бірде шығып дегендей, ұдайы алмасып отырады.

ТОЛЫҒЫРАҚ »

БІЗДІҢ ӘЛЕМ ТУРАЛЫ СІЗ БІЛМЕГЕН 15 КЕРЕМЕТ ФАКТ

...

Біздің әлем - шексіз жұмбақ. Күн сайын сіз ол туралы көптеген жаңа нәрселерді біле аласыз!

ТОЛЫҒЫРАҚ »

АНТАРКТИДА ТУРАЛЫ ҚЫЗЫҚТЫ ДЕРЕКТЕР

...

Мұз құрлығының ресми ашылған күні 1820 жылдың 28 қаңтары болып есептеледі.

ТОЛЫҒЫРАҚ »

ЖЫЛҚЫ АТЫМЕН АТАЛАҒАН SNICKERS ШОКОЛАД БАТОНЧИК

...

Snickers - жастар арасында ең танымал батончик

ТОЛЫҒЫРАҚ »

ЖЕР ТУРАЛЫ ҚЫЗЫҚТЫ ДЕРЕКТЕР

...

Бұл мақалада біздің жер туралы қызықты деректер талқыланады

ТОЛЫҒЫРАҚ »

АЯҚ КИІМГЕ ДЕ КҮТІМ КЕРЕК

...

Әдетте, адамның екі аяғы бірдей бола бермейді. Көбіне оң аяқ сол аяқтан гөрі үлкенірек келеді.

ТОЛЫҒЫРАҚ »

КҮДЕРІ БҰЙЫМДАРДЫ ТАЗАЛАУ

...

Күдерден тігілген бұйымдарды қалай тазалауға болатын тәсіл.

ТОЛЫҒЫРАҚ »