Javascript nail Mammadov



Yüklə 1,07 Mb.
Pdf görüntüsü
səhifə3/7
tarix06.06.2020
ölçüsü1,07 Mb.
#31757
1   2   3   4   5   6   7
Javascript


Rəqəm (Number) 
 
 
 
Rəqəmlər həm rəqəm həm də kəsrlər ola bilər. 
Rəqəmlərin üzərində operatorlarla əməliyyatlar aparmaq olar: 
Vurma *, Bölmə /, Toplama +, Çıxma - 
Normal rəqəmlərdən əlavə xüsusi dəyərlərdə vardır :  
İnfinity, - İnfinity və NaN. 
// səhv yoxdur 
let mesaj = "salam"; 
mesaj = 123456; 
 
let n = 123; 
n = 12.345; 
 

41 
 
• Riyazi sonsuzluq ∞ . Hər hansı rəqəmdən böyük dəyərdir. 
Sıfıra bölünmənin nəticəsidir: 
alert (1/0); // Sonsuzluq 
Və ya sadə olaraq verilə bilər: 
alert (İnfinity); // Sonsuzluq 
•  NaN  hesablama  zamanı  xəta  baş  verdikdə  olur.  Məsələn  xətalı  və  ya 
bilinməyən riyazi əməliyatın nəticəsidir: 
alert ("rəqəm deyil" / 2); // NaN – bu xətalı dəyər NaN döndərəcəkdir:  
NaN la aparılan operator əməliyyatları NaN dəyərini döndərəcəkdir: 
alert (NaN/ 2 + 5); // NaN 
Bu səbəblə riyazi ifadədə NaN varsa, nəticədə NaN olacaqdır. 
Javascriptdə  bütün  riyazi  əməliyyatları  aparmaq  mümkündür.  Hər  şey 
mümkündür: sıfıra bölünmə, rəqəm olmayan dəyər və s. 
die() 
Bu  əməliyyat  xəta  ilə  durmuyacaqdır.  (“die”).  Ən  pis  halda  NaN  olacaqdır. 
Xüsusi  dəyərlər  rəqəm  tipinə  aiddir.  Rəqəmlə  bölməsində  daha  ətraflı 
məlumat görəcəyik. 
String (yazı) 
JavaScriptdəki yazılar dırnağı daxilində olmalıdır.  

42 
 
let str = "Salam"; 
let str2 = 'Tək dırnaqlar içərisində yazıla bilər'; 
let phrase = `$ {str}` belə də yazılaraq dəyişən köçürülür; 
JavaScriptdə 3 növ yazılış şəkli var. 
1. İki dırnaq: ”Salam” 
2. Tək dırnaq: 'Salam'. 
3. Köçürmələr: `Salam`. 
Cüt və tək dırnaq sadə dırnaqlardır. Javascriptdə aralarında fərq yoxdur. 
Köçürmə  şəkli  isə  inkişaf  etdirilmiş  funksional  dəyərlərdir.  Dəyişənləri  və 
ifadələri $ {…} içərisinə yerləşdirməyə icazə verir. Məsələn: 
let name = "Nail";  // dəyişən yaradıldı 
alert (`Salam, $ {name}!`); // Salam Nail! 
// ifadəyə daxil edildi 
alert (`nəticə $ {1 + 2}` dir); // nəticə 3 
$ {…} içərisindəki ifadə dəyərini köçürür. Bunun içərisinə istədiyimiz tip yaza 
bilərik.Bunu yalnız “ `` ” köməkliyi ilə edə bilərsiniz. Digərlərin bu xüsusiyyət 
yoxdur. 
alert  ("nəticə  $  {1  +  2}");  //  nəticə  $  {1  +  2}  'dir  (çüt  dırnağın  təsiri 
olmayacaqdır) 

43 
 
Stringlər bölməsində daha ətraflı məlumat veriləcəkdir. 
 
Simvol tipi yoxdur. 
Bəzi dillərdə tək simvol üçün xüsusi “simvol” növü vardır. Məsələn C dilində 
və Javada char-dır. Javascriptdə belə tip yoxdur. Yalnız string vardır. String bir 
vəya bir necə simvolda ibarət ola bilər. 
 
Boolean (məntiqi tip) 
Boolean tipi iki dəyərə sahibdir: düzgün və yanlış. Bu tip ümumilikdə bəli/xeyr 
dəyərlərini dəyərləri üçün istifadə edilir. True- düzgün, bəli və False – xeyr, 
yanlış deməkdir. 
Məsələn: 
nameFieldChecked = true; // bəli, adlar yoxlanıldı mənasını verir. 
ageFieldChecked = false; // xeyr, yaşlar yoxlanılmadı mənasını verir. 
Boolean dəyərləri həmdə müqayisənin nəticəsi kimi ola bilər: 
let Greater = 4 > 1; 
alarm (Greather); // true ( müqayisənin nəticəsi “bəli” dir) 
Məntiqi operatorlar bölməsində Boolean tipini daha dərindən öyrənəcik. 
  

44 
 
“Null” dəyəri 
Xüsusi null dəyəri yuxarıda izah edilən tiplərdən heç birinə bənzəmir. 
Yalnızca boş dəyər üçün ayrı tip vardır : 
yash = null; 
Javascriptdə null “Mövcüd olamayan” bir şey mənasını verir. Bu sadəcə “heç 
bir şey”, “boş” xüsusi dəyərdir. 
Yuxarıdakı yazılmış kodda bəzi səbəblərə görə yaşın boş olduğunu görürük. 
Bu bizə “null” dəyərini verəcəkdir. 
 
Undefined 
Bilinməyən dəyər. Eyni ilə boş göndərilmiş tip kimidir. Undefined-in mənası 
“dəyəri olmayan”, “bilinməyən” dir. Bir dəyişəni göstərir. Ancaq dəyəri yoxdur: 
let x; 
alert (x); // "undefined" göstərəcəkdir. 
Texniki olaraq hər hansı dəyişənə undefined etmək mümkündür: 
let x = 123; 
x = undefined; 
alert (x); // "Undefined" 
 

45 
 
Amma  bunu  məsləhət  görmürük.  Normalda  dəyişənə  “boş”  və  ya 
“bilinməyən”  dəyər  vermək  üçün  null  istifadə  edərik  və  dəyişənin  olub 
olmadığını yoxlamaq üçün undefined-dən istifadə edirik. 
 
Objectlər və Simvollar 
Object tipi xüsusi tipdir. Digər bütün bütün tiplərə başlanğıç səviyyə deyilir. 
Çünki bu tiplərdə tək bir şey aid ola bilər (bir rəqəm, yazı və s.). Buna görə də 
objectlər vardır. Burada qarışıq məlumatların saxlanması üçün istifadə edilir. 
Başlanğıc səviyyəni ətraflı öyrəndikdən sonra daha sonra objectlər haqqında 
öyrənəcik. 
Simvol  tipi  –  objectlər  üçün  oxşarı  olmayan  dəyər  yaratmaq  üçün  istifadə 
edilir. Daha yaxşı anlamaq üçün göstərilməlidir. Ancaq object-dən sonra bu 
tipə baxmaq məsləhətdir. 
Typeof operatoru 
Typeof operatoru seçilmiş dəyərin tipini göstərir. Fərqli tiplərdəki dəyərləri 
fərqli şəkilə çevirmək istədikdə və ya sadəcə yoxlama məqsədli istifadə edilir. 
İki cür yazılış forması var: 
1. Operator olaraq: typeof x. 
2. Funksiya olaraq: typeof (x). 
Başqa sözlə mörtərizə oldu olmadı işləyəcəkdir. Nəticə eynidir. 

46 
 
typeof x bizə növün tipinə uyğun string geri qaytaracaqdır: 
 
 
 
 
 
 
 
 
 
 
 
 
Son üç sətirin əlavə izah ehtiyacını ola bilər: 
1.Riyazi  əməliyyatları  aparmaq  üçün  operatorlardan  istifadə  edəcik.  Bunun 
haqqında sonrakı bölmədə ətraflı izah veriləcəkdir. 
2. Null tipinin yoxlasaq nəticəsi “object” dir. Bu səhvdir. Rəsmi olaraq tanınmış 
xətadır. Təbii ki , null object deyildir. Nəticə olaraq dildə olan xətadır.  
typeof undefined // 
"undefined" 
 
typeof 0 // "rəqəm" 
 
typeof true // "boolean" 
 
typeof "foo" // "string" 
 
typeof Symbol ("id") // "simvol" 
 
typeof Math // "object" (1) 
 
typeof null // "object" (2) 
 
typeof alert // "function" (3) 
 

47 
 
3. typeof alert-in nəticəsi funksiyadır. Çünki dilin funksiyasıdır. Javascriptdə 
xüsusi “funksiya” tipi olmadığı sonrakı bölmələrdə baxacıq. Funksiyalar object 
tipinə aiddir. Rəsmi olaraq səhvdir. Ancaq praktika olaraq istifadə edilir. 
Nəticə 
Javascriptdə 7 Data tipi var. 
• Rəqəm (Number) tipi: tam ədəd və ya kəsr. 
• Yazı (String) tipi: hərf vəya hərflər çoxluğu. 
• Boolean tipi: düzgün/ yanlış. 
• Null tipi: boş dəyər. Yalnız boş dəyər null olur. 
• Undefined tipi: dəyəri bilinməyən. 
• Obejct tipi: qarışıq struktura sahib olur. Eyni zamanda həm number həmdə 
string-ə sahib ola bilər. 
• Simvol- oxşarsız simvollar üçün. 
 
Typeof operatoru, hər hansı dəyişəndə nə tip olduğunu öyrənməyimizə icazə 
verir. 
• İki cür: typeof x və ya typeof (x). 
• "string" kimi tipin adıyla geri qayıdır. 

48 
 
•  Null  üçün  “object”  -geri  qaytarır.  Rəsmi  olaraq  bu  xətadır.  Null  object 
deyildir. 
Sonrakı  bölmələrdə  başlanğıç  dəyərləri  ətraflı  öyrənəcik.  Daha  sonra  isə 
objectlərə keçid edəcik. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

49 
 
10. Data tiplər arasında keçidlər 
Operatorlar  və  funksiyalar  onlara  verilən  dəyərləri  avtomatik olaraq  düzgün  tipə 
çevirirlər. Məsələn alert metodu avtomatik olaraq dəyəri göstərmək üçün hər hansı 
dəyəri stringə çevirir. Riyazi əməliyyatlarda isə dəyərləri rəqəmlərə  çevirir. Düzgün 
olarsa  dəyəri  gözlənilən  tipə  çevirmək  müəyyən  hallarda  lazım  olur.  Hələ  object 
haqqında  danışmayacıq.  Bunun  yerinə  başlanğıc  səviyyə  tiplərə  baxacağıq.  Daha 
sonra  objectlər  haqqında  məlumat  verdikdən  sonra  objecti  çevirmə  haqqında 
danışacağıq. 
 
ToString 
Yazı tipinə çevirmə. Dəyərin string tipində ehtiyacımız olduğu halda istifadə edilir. 
Məsələn, alert(deyer) deyeri göstərmək üçün çevirmə aparacaqdır. 
Dəyəri stringə çevirmək üçün String(value) metodunu da istifadə edə bilərik: 
 
 
 
 
 
 
String çevirmələri olduqca sadədir. 
 
ToNumber 
Ədədə  çevirmək  üçün  istifadə  edilir.      Riyazi  funksiyalar  və  ifadələrdə  avtomatik 
olaraq çevirilir. 
let deyer = true; 
alert (typeof deyer); // boolean 
 
deyer = String (deyer); // indi dəyər “true” stringidir. 
Alert (typeof deyer); // string 

50 
 
Məsələn, bölünmə/ ədəd olmayan tipdə istifadə edildikdə: 
alert ("6" / "2"); // 3, stringlər ədədlərə çevirildi.  
Dəyəri ədədə çevirmək üçün Number() metodunu istifadə edə bilərsiniz: 
 
 
 
 
 
 
Bu  çevrilmələr  ümumilikdə  forumda  əgər  istifadəçinin  daxil  etdiyi  dəyərin  yalnız 
ədəd istədiyimiz hallarda istifadə edə bilərik. 
String rəqəm deyilsə, çevrilmənin nəticəsi NaN olacaqdır. Məsələn: 
 
 
 
 
Ədəd çevrilmələrinin qaydaları: 
Dəyər                Gözlənilən 
undefined               NaN 
null                            0 
true və false          1 ve 0 
string              Başlanğıçdan və sonra     boşluq silinir.  
let str = "123"; 
alert (typeof str); // string 
num = Number (str); // 123 rəqəmdir 
alert (typeof num); // ədəd 
 
let age = Number ("ədəd yerinə istənilən yazı"); 
 
alert (age); // NaN, çevrilmə uğursuz oldu 
 

51 
 
Qalan string boşdursa, nəticə 0 -dır. Əks təqdirdə string oxunacaqdır. Xəta olduqda 
NaN olacaqdır.  
Nümunələr: 
alert (Number ("123")); // 123 
alert (Number ("123z")); // NaN ("z" hərfi xətaya səbəb oldu) 
alert (Number (true)); // 1 
alert (Number (false)); // 0 
Yadda  saxlayın  null  və  undefined  tiplərinində  fərqli  olur.  Null  tipi  0  qaytaracaq. 
Undefined isə NaN geri qaytaracaqdır. 
 
 
 
'+' Stringləri birləşdirir. 
Demək  olarki,  bütün  riyazi  operatorlar  dəyərləri  ədədə  çevirir.  İstisna  hal  olaraq 
toplama + operatoru birləşdirmə funksiyasıı yerinə yetirir. Ancaq dəyərlərdən biri 
stringdirsə , digərinidə stringə çevirib birləşdirir: 
alert (1 + '2'); // '12' (sağda string) 
alert ('1' + 2); // '12' (solda string) 
Bu  sadəcə  dəyişənlərdən  ən  az  biri  string  olduğunda  olur.  Əks  halda  dəyərlər 
number olacaqdır. 
 
ToBoolean 

52 
 
Boolean çevrilməsi ən sadəsidir. 
Məntiqi metodları reallaşdırır (daha sonra halları test edir və oxşar şeyləri yerinə 
yetirir). Ancaq bunu Boolean() ilə etmək mümkündür. 
Çevrilmə qaydası: 
• Null olan dəyər həmçinin 0-da ola bilər,(null, undefined və NaN) dəyərləri səhv 
olur. 
• Digər dəyərləri true olaraq geri qaytaracaqdır. 
Məsələn: 
alert (Boolean (1)); // düzgün 
alert (Boolean (0)); // yanlış 
alert (Boolean ("salam")); // düzgün 
alert (Boolean (" ")); // yanlış 
Diqqət:  Sıfır  “0”  olan  string  səhvdir.  Bəzi  dillərdə  (yəni  PHP)  “0”  olan  string 
düzgündür. Ancaq Javascriptdə boş olmayan string hər zaman düzdür. 
alert (Boolean ("0")); // false 
alert (Boolean ("")); // boşluq, həm də true (boş olmayan hər hansı string true geri 
qaytarcaqdır) 
 
Nəticə 
Ən çox istifadə olunan 3 növ çevrilmə vardır. String, Number və Booleana keçiddir. 

53 
 
ToString – Bir şey yazdığımızda ortaya çıxır. String(deyer) ilə edilə bilər. String keçid 
ümumilikdə mümkündür. 
ToNumber –  Riyazi əməliyyatlarda ortaya çıxır. Number() ilə çevirmək mümkündür. 
Dəyər                  Nəticə 
Undefined           NaN 
Null                        0 
true / false           1/0 
string                   String, “olduğu kimi” oxunur, hər iki tərəfdən boşluğu silər. Boş 
string 0 olur. Xəta olduqda NaN olur. 
ToBoolean – Məntiqi tipə çevirir. Boolean(value) ilə edilə bilər. 
Qaydalar:  
Dəyər                                          Nəticə 
0, null, undefined, NaN, " "            false 
Başqa hər hansı dəyər                  true 
 
Bu  qaydaların  çoxunu  başa  düşmək  və  yadda  saxlamaq  asandır.  Developerlərin 
ümumilikdə xətaları bunlardır: 
• undefined və NaN numberdir, 0 deyildir. 
• "0" və "" kimi striglər boolean olaraq true olaraq geri qaytarır. 

54 
 
Objectlər barəsində məlumat verilməmişdir. Onlara daha sonra Javascript haqqında 
başlanğıc səviyyəni öyrəndikdən sonra, yalnızca objectlərə ayrılmış bölmədə izah 
verilmişdir. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

55 
 
11. 
Operatorlar 
Məktəbdə operatorlar haqqında bilirik. Bunlar toplama +, vurma *, çıxma – 
və  s.  Bu  bölmədə  məktəbdə  görmədiyimiz  operatorların  xüsusiyyətinə 
baxacıq. 
Terminlər: “unary”, “binary”, “operand” 
Davam etmədən əvvəl, bəzi terminlərin izahına baxaq: 
Operator-  əməliyyat  aparmaq  üçün  istifadə  edilir.  Məsələn  5*2  -burada  2 
hədd vardır. Bəzən “hədd” yerinə “arqument” deyilir. 
Unary- tək elementə aid olan operatordur. Ədədi tərsinə çevirir. 
 
 
 
 
Normalda operatorlar 2 ədəd arasında olur. 
 
let 
x = 1; 
x = -x; 
alert (x); // -1, unary operatoru istifadə edildi. 
 
x = 1, y = 3; 
alert (y - x); // 2, çıxma operatoru işlədildi. 
 

56 
 
 
İki  fərqli  operator  haqqında  danışacıq:  tək  tərəfli:  tərs  çevirmə  operatoru 
(unary) və çıxma operatoru 
String (yazı birləşdirmə) operatoru + 
İndi, Javascript operatorlarının məktəb operatorlarında fərqli xüsusiyyətlərinə 
baxaq. Ümumilikdə toplama operatoru ədədləri toplayır. 
Ancaq , stringlərdə istifadə olunarsa, bunları birləşdirəcəkdir: 
 
Arqumentlərdən biri string digəri isə ədəddirsə, digərinidə stringə 
çevirəcəkdir. 
Məsələn: 
 
 
 
String  arqumentinin  ilk  vəya  ikinci  olması  fərq  etmir.  Qayda  sadədir-  Hər 
hansı arqumentdən biri stringdirsə, ikincisidə stringə çevriləcəkdir. 
s = "my" + "string"; 
alert (s); // mystring 
 
 
alert ('1' + 2); // "12" 
alert (2 + '1'); // "21" 
 

57 
 
Ancaq əməliyyatın soldan sağa tərəf işlədiyini yaddan çıxarmıyın. Stringdən 
əvvəl ədədlər varsa, əvvəlcə onları toplayıb sonra birləşdirəcəkdir: 
 
 
String  birləşdirmə  və  çevirmə  +  -un  xüsusiyyətidir.  Digər  operatorlarda 
sadəcə ədədlər üçün istifadə edilir. 
Məsələn çıxma və bölmə: 
 
 
Unary-də + operatorundan istifadə 
+ iki əməliyyat üçün istifadə edilir.Yuxarıda istifadə etdiyimiz və Unary-də 
Unary -də istifadə olunan + operatoru heç bir təsiri yoxdur. Ancaq arqument 
rəqəmdə deyilsə, unary + ilə ədədə çevriləcəkdir. 
Məsələn: 
 
alert (2 + 2 + '1'); // "41"-dir. Nəticə "221" deyildir. 
 
alert (2 - '1'); // 1 
alert ('6' / '2'); // 3 
 

58 
 
 
 
 
 
 
 
 
 
 
Əslində number() ilə eyni funksiyanı yerinə yetirir. Ancaq daha qısadır. 
Stringləri ədədlərə çevirmək çox qarşımıza çıxacaqdır. Məsələn HTML formda 
gələn dəyərlər ümumi halda stringlərdir. 
Onları toplamaq istəsək bəs? 
+ bunları string olar əlavə edər: 
 
//Rəqəmlərə təsiri yoxdur. 
let x = 1; 
alert (+ x); // 1 
 
let 
y = -2; 
alert (+ y); // -2 
 
// Rəqəmləri çevirməz 
alert (+ true); // 1 
alert (+ ""); // 0 
 

59 
 
 
 
 
Onları ədəd olaraq istəyiriksə, çevirmələyik və sonra toplamalıyıq: 
 
 
 
 
 
 
Riyaziyyatçılara görə + çoxluğu qəribə görünə bilər. Ancaq developerə görə 
heçdə qəribə deyildir. İlk əvvəl unary + çevirir, stringlər ədədlərə çevrili. 
Sonra isə toplanacaqdır. 
Niyə unary+-lar dəyərdən əvvələ yazılır? Bunun əsas səbəbi vardır. 
 
 let alma= "2"; 
let portağal = "3"; 
alert (alma + portağal); // "23", stringləri birləşdirdi. 
 
let alma= "2"; 
let portağal = "3"; 
// unary + ilə ədədlər ədədlərə çevriləcəkdir. 
alert (+ alma + + portağal); // 5 
// uzun versiya 
// alert (Number (alma) + Number (portağal)); // 5 
 
 
 

60 
 
Operatorların sırası 
İfadədə  birdən  çox  arqument  vardırsa,  operator  sırasına  görə  əməliyyatlar 
sıralanacaqdır. 
Məktəbdən  bilirik  ki  ,  1+2*2  ifadəsindəki  vurma  toplamadan  əvvəl 
hesablanmalıdı. Bu operator sıralamasıdır. Vurmanın daha əvvəl aparılması 
bilinir. 
Mörtərizələr  hər  hansı  sıranı  pozar.  Bu  səbəblə  sıranı  xoşlamadıqda 
dəyişdirmək mümkündür. Məsələn (1+2)*2 yazın. 
Javascriptdə çox operator vardır. Hər operatorun sırası vardır. İlk əvvəl sırası 
böyük  olan  işləyəcəkdir.  Əgər  eyni  operatordursa,  soldan  sağa  doğru 
işləyəcəkdir.  
Operator  sıralama    cədvəli  (bunu  yadda  saxlamağa  ehtiyac  yoxdur,ancaq 
unary operatorlarunun nədən böyük olduğuna fikir verin): 
 
 
 
 

61 
 
Operator sıralaması 
 
 
 
 
 
 
 
 
 
 
 
Gördüğümüz kimi, "unary +"(16) cəm(13)-dən böyükdür. Bu səbəblə 
“+alma++portağal” ifadəsində unary+ toplamadan əvvəl işləyir. 
... ... ... 
16 unary plus + 
16 unary negation - 
14 vurma * 
14 bölmə / 
13 toplama + 
13 çıxma - 
... ... ... 
3 bərabərlik = 
... ... ...  
Gördüyünüz kimi , “unary +”, 13 
 

62 
 
Bu səbəblə, "+ almalar ++ portağallar" ifadesinde, unary cəmdən əvvəl 
işləyir. 
Bərabərlik 
Bərabərlik = eyni zamanda operator olduğunu bilməliyik. Cədvəldə 3-dür. Bu 
səbəblə, x=2*2+1 kimi dəyişənə bərabər etdikdə, əvvəl hesablama aparılır və 
sonradan nəticə x-ə əlavə edilir. 
 
 
 
Bərabərlikləri çoxaltmaq mümkündür: 
 
 
 
 
 
Çoxaltdıqda əməliyyat sağdan sola doğru aparılacaqdır. İlk əvvəl ən sağdakı 
2+2 ifadəsi hesablanacaq və sonra soldakı dəyişənlərə veriləcəkdir: c, b və a. 
Sonda isə bütün dəyişənlər eyni dəyərə sahib olacaqdır. 
Bərabərlik operatoru “=” dəyər geri qaytarır. 
let x = 2 * 2 + 1; 
alert (x); // 5 
 
a, b, c; 
a = b = c = 2 + 2; 
 
alert (a); // 4 
alert (b); // 4 
alert (c); // 4 
 

63 
 
Bu əməliyyat zamanı həmişə bir dəyər geri qayıtmalıdır. Bu toplama+ vəya 
vurma * kimi çox əməliyyata aiddir. Ancaq bərabərlik operatoru də qayda ilə 
işləyir. 
x=dəyər çağırdıqda, dəyəri x-in içinə yazar və sonra geri qaytarar. 
Qarışıq ifadədənin bir hissəsi olan nümunədə bərabərliyə baxaq : 
 
 
 
 
 
Yuxarıdakı nümunədə ifadənin nəticəsi (a=b+1), a(3) olaraq dəyərini almışdır. 
Daha sonra başqa ifadələrdə istifadə ediləcəkdir. 
 Kodun  necə  işlədiyini  başa  düşməliyik.  Çünki  Javascript  kitablarında 
nümunələr  görürük  və  başa  düşmürük.  Bunun  üçün  kodları  birdə  özünü 
yazmalısınız. Yoxlayın.  
Qalıq (Modules) % 
Qalıq operatoru % faizlə əlaqəsi yoxdur. 
Qalıq – a və b arasındakı bölmə əməliyyatı nəticəsində qalan ədəddir. 
Məsələn: 
let a = 1; 
b = 2; 
c = 3 - (a = b + 1); 
alert (a); // 3 
alert (c); // 0 
 

64 
 
 
 
 
 
Qüvvət ** 
Qüvvət – a-nın b dəfə bir-birinə vurulmasıdır. 
Nümunə: 
 
 
 
Operator tam ədəd olmayan üçündə işləyir. 
Nümunə: 
alert (4 ** (1/2)); // 2 (1 / 2'nin kvadratı kökaltı ilə  eynidir, riyaziyyat) 
alarm (8 ** (1/3)); // 2 (1/3 kvadratı kub kökaltıya bərabərdir) 
Artırma/azaltma 
Ədədi bir-bir artımaq vəya azaltmaq ən çox istifadə edilən əməliyyatlardan 
biridir. 
Yəni, bunun üçün xüsusi operator var: 
alert ( 5 % 2); // 1, 5 böl 2 
alert ( 8 % 3); // 2, 8 böl 3 
alert ( 6 % 3); // 0, 6 böl 3'ün qalığıdır. 
 
alert (2 ** 2); // 4 (2 * 2) 
alert (2 ** 3); // 8 (2 * 2 * 2) 
alert (2 ** 4); // 16 (2 * 2 * 2 * 2) 
 

65 
 
Artırma ++ , dəyişənin artımı 1 olacaqdır: 
• let counter = 2; 
• counter ++; // counter = counter + 1 ilə eyni şəkildə işləyəcəkdir. Ancaq 
daha qısa yazılış şəklidir. 
alert (counter); // 3 
• Azaltma – dəyişənin azalması 1 olacaqdır: 
• let counter = 2; 
• counter--; // counter = counter - 1 ilə eyni şəkildə işləyəcəkdir. Ancaq 
daha qısa yazılışdır. 
alert (counter); // 1 
Qeyd: artma/azalma sadəcə dəyişənlərə istifadə edilə bilər. 5++ kimi istifadə 
də xətaya səbəb olacaqdır. ++ və -- operatorları dəyişəndən əvvəl vəya sonra 
yazıla bilər. Operator dəyişəndən sonra yazıldıqda “postfix form” adlanır. 
Operator dəyişəndən əvvəl yazıldıqda “prefix form” adlanır. Bu ifadələrin hər 
ikisidə eyni əməliyyatı aparır: counteri 1 artırın. Fərq varmı? Bəli, ancaq ++/- 
ni istifadə etsək görə biləcik.  
İzah  edim  :  Bildiyimiz  kimi  bütün  operatorlar  bir  dəyər  geri  qaytarır. 
Artma/azalma  isə  istisna  deyildir.  Postfix  yeni  dəyəri  verərkən,  prefix  form 
bizə əvvəlki dəyəri geri qaytarır. 

66 
 
Fərqi görmək üçün nümunə : 
let counter = 1; 
a = ++ counter olsun; // (*) 
alert (a) ' // 2 
Sətirdə (*), prefix form ++ counter- counterin dəyərini artıracaqdır və dəyəri 
2 döndərəcəkdir. 
İndi postfix istifadə edək: 
let counter = 1; 
a = counter ++ olsun; // (*) ++ counter- counter ++ ilə dəyişdirildi 
alert (a) ' // 1 
Sətirdə (*) postfix form counter ++ da counter-i artırır ancaq əvvəlki dəyəri 
geri qaytarır (artımdan əvvəl). Yəni, alert 1 göstərir. 
 
Yüklə 1,07 Mb.

Dostları ilə paylaş:
1   2   3   4   5   6   7




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin