Dəyişənlər. JavaScript-də arifmetik və məntiqi əməliyyatlar

Sətir məlumat növü mətni təmsil etmək üçün istifadə olunur. Müvafiq olaraq, sətir tipinin dəyərləri mətndir. JavaScript-də hər hansı mətn sətirdir.

Sitatlar

JavaScript-də sətirlər dırnaq içərisində olmalıdır. JavaScript-də üç növ sitat var: qoşa dırnaqlar (" "), tək dırnaqlar (" ") və geri işarələr (` `):

"İki dırnaq içərisində sətir" "Tək dırnaq içərisində sətir" 'Arxa dırnaq içərisində sətir'

Sətirin əvvəlində və sonunda olan sitatların növü uyğun olmalıdır.

Sətirlər sıfır və ya daha çox simvoldan ibarət ola bilər:

"" // Boş sətir "String" // Boş sətir deyil

Qoşa və tək dırnaqları olan sətirlər funksionallıq baxımından fərqlənmir - onlar yalnız mətn və qaçış ardıcıllığını ehtiva edə bilər. Lakin arxa dırnaqları olan sətirlər daha geniş funksionallığa malikdir. Belə sətirlərdə dollar işarəsi və əyri mötərizələrlə işarələnən sözdə əvəzetmələr ola bilər $(ifadə). Əvəzetmələr istənilən ixtiyari ifadələri ehtiva edə bilər:

Let str = "Sülh!"; let str2 = `Salam $(str)`; // Sətir xəbərdarlığında dəyişəndən istifadə (səhifə 2); // Salam Dünya! xəbərdarlıq(`2 + 3 = $(2 + 3).`); // 2 + 3 = 5.

Əvəzetmədəki ifadə ($(...)) qiymətləndirilir və onun nəticəsi sətirin bir hissəsinə çevrilir.

Arxa tirajlanmış sətirlər bütün boşluq simvollarını saxlayaraq birdən çox sətiri əhatə edə bilər:

Nömrələr = `Nömrələr: 1 2`; xəbərdarlıq (nömrələr); // Rəqəmlər: // 1 // 2

Geri işarələri olan sətirlərə joker simvol sətirləri və ya şablon literalları deyilir.

Bir dırnaq içərisində olan sətirlərdə digər dırnaq işarələri ola bilər:

"tək dırnaqlar və cüt dırnaqlar içərisində arxa işarələr" "və burada "belə" və "belə" var!" `və burada “belə” və “belə”!`

Rahatlıq üçün böyük sətir hərfi bir neçə sətirə bölünə bilər və sonuncudan başqa hər sətir \ simvolu ilə bitir:

Alert("bunların hamısı bir \ uzun \ xəttdir"); // it's all one long line alert("it's all one \ long \ line"); // hamısı bir uzun xətt xəbərdarlığıdır(`hamısı bir \ uzun \ sətirdir'); // hamısı bir uzun xəttdir

Simli simvolların kodlaşdırılması

Səhifə üçün hansı kodlaşdırmanın təyin olunmasından asılı olmayaraq, JavaScript həmişə sətirlər üçün UTF-16 kodlaşdırmasından istifadə edir.

JavaScript-də sətir hər biri Unicode simvolunu təmsil edən 16 bitlik dəyərlərin dəyişməz, sifarişli ardıcıllığıdır. JavaScript Unicode simvollarını təmsil etmək üçün UTF-16-dan istifadə edir. Simvollara hərflər, rəqəmlər, durğu işarələri, xüsusi simvollar və boşluq simvolları.

Sim uzunluğu

Sətin uzunluğu onun ehtiva etdiyi 16 bitlik dəyərlərin (simvolların özləri deyil) sayıdır. Sətin uzunluğu uzunluq xüsusiyyətində var:

Alert("Salam".uzunluq); // 6

Kod nöqtələri 16 bitə sığmayan simvollar UTF-16 kodlaşdırma qaydalarına uyğun olaraq iki 16 bitlik dəyər ardıcıllığı kimi işlənir. Bu o deməkdir ki, uzunluğu 2 (iki 16 bit dəyər) olan sətir əslində tək simvolu təmsil edə bilər:

Alert("a".uzunluq); // 1 xəbərdarlıq("𝑒".uzunluq); // 2

Sətir simvollarının nömrələnməsi və daxil olması

Artıq qeyd edildiyi kimi, sətir hər biri müəyyən bir simvola uyğun gələn 16 bitlik dəyərlərdən ibarət sifarişli ardıcıllıqdır. Sətirdə 16 bitlik dəyərlərin nömrələnməsi sıfırdan başlayır, yəni ilk 16 bitlik dəyər 0 indeksində, ikincisi 1 indeksindədir və s. İndeks sıra nömrəsidir.

Siz kvadrat mötərizə [index] içərisində olan indeksdən istifadə edərək sətir simvolu (tək 16 bit dəyərdən ibarət) əldə edə bilərsiniz:

Let str = "Salam"; alert(küç); // P alert(küç); // IN

İki 16 bitlik dəyərdən ibarət simvola istinad etmək üçün indekslərdən istifadə etmək üçün bu indeksləri yazmaq üçün birləşmədən istifadə etməlisiniz ki, nəticə iki 16 bitlik dəyər ardıcıllığı olsun:

Qoy str = "𝑒"; xəbərdarlıq (səhifə + səhifə); // "𝑒"

Sətirlər dəyişməzdir

IN JavaScript sətirləri dəyişməz. Bu o deməkdir ki, siz mövcud sətirdə heç bir simvolu dəyişdirə və ya ona yeni bir şey əlavə edə bilməzsiniz.

Sətirlər dəyişməz olduğundan, sətirlərlə işləmək üçün istifadə edilən üsullar, onların çağırıldığı sətri dəyişdirmək əvəzinə yeni sətirləri qaytarır:

Let str = "Salam!"; alert(str.toUpperCase()); // "HELLO" - xəbərdarlıq metodu ilə qaytarılan yeni dəyər (səhifə); // "salam" - orijinal sətir dəyişdirilmir

Sətri dəyişdirmək üçün yeni sətir yarada və onu köhnə sətir əvəzinə eyni dəyişənə yaza bilərsiniz:

Let str = "String"; str = str.toUpperCase(); alert(küç); // "Xətt"

Escape Sequences

Siz sətir literallarında qaçış ardıcıllığından istifadə edə bilərsiniz. Escape ardıcıllığı sətirdə başqa üsullarla təmsil oluna bilməyən simvolu təmsil edən adi simvollar ardıcıllığıdır. Escape ardıcıllıqları mətn məzmununun çıxışını formatlaşdırmaq üçün istifadə olunur.

Aşağıdakı cədvəl nəzarət ardıcıllığını göstərir:

Ardıcıllığın mənası
\0 NUL simvolu boş simvoldur ("\u0000").
\t Üfüqi nişan ("\u0009").
\n Yeni sətir ("\u000A").
\b Bir mövqeyə geri qayıtmaq, geri düyməsinə ("\u0008") basdığınız zaman baş verənlərdir.
\r Vaqonun qaytarılması ("\u000D").
\f Səhifənin tərcüməsi - səhifənin təmizlənməsi ("\u000C").
\v Şaquli nişan ("\u000B").
\" İkiqat sitat ("\u0022").
\" Tək sitat ("\u0027").
\\ Əks kəsik ("\u005C").
\xNN İki onaltılıq rəqəmlə müəyyən edilmiş ISO Latın-1 simvol dəstindən simvolun sayı (N onaltılıq rəqəm 0-F-dir). Məsələn, "\x41" (bu, "A" hərfinin kodudur).
\uNNNN Dörd onaltılıq rəqəmlə müəyyən edilmiş Unicode simvol dəstindən simvolun sayı (N onaltılıq rəqəm 0-F-dir). Məsələn, "\u0041" (bu, "A" hərfinin kodudur).

Escape ardıcıllığı xəttin istənilən yerində görünə bilər:

Alert("Yunan hərfi siqma: \u03a3."); // Yunan hərfi sigma: Σ. alert("Çoxxətli sətir") // Çoxsətirli sətir xəbərdarlığı("içində ikiqat dırnaq işarələri istifadə olunur"); // daxilində qoşa dırnaq işarələri istifadə olunur

Əgər \ simvolu cədvəldə verilmiş simvoldan başqa hər hansı simvoldan əvvəl gəlirsə, o zaman tərcüməçi tərəfindən sadəcə olaraq nəzərə alınmır:

Xəbərdarlıq("\k"); // "k"

Escape ardıcıllığından istifadə etməklə müəyyən edilmiş Unicode simvolları yalnız sətir literallarında deyil, həm də identifikatorlarda istifadə edilə bilər:

Qoy a\u03a3 = 5; xəbərdarlıq (a\u03a3); // 5

Birləşdirmə

Konkatenasiya iki və ya daha çox sətrin daha böyük bir simdə birləşdirilməsidir. Birləşdirmə + (plus) operatorundan istifadə etməklə baş verir. Birləşdirərkən, hər bir sonrakı sətir əvvəlkinin sonuna əlavə olunur:

Var str1 = "Salam"; var str2 = "Dünya!"; sənəd.write(str1 + str2 + "
"); // "Salam Dünya!" document.write(str1 + "Dünya!"); Sınayın »

Sətir ilə birləşdirilən hər hansı bir növ dəyər gizli (avtomatik olaraq) sətirə çevriləcək və sonra birləşdiriləcək.

Var str1 = "Salam"; xəbərdarlıq (str1 + 1); // "Salam 1" xəbərdarlığı(true + str1); // "trueHello" xəbərdarlığı(str1 + NaN); // "Salam NaN"

Siyahı 1.9 iki ədəd (1 və 2), əməliyyat işarəsi (+), “Hesabla” düyməsi olan forma və daxil edilmiş dəyərləri göstərmək üçün mətn sahəsi olan HTML kodunu təmsil edir. Müvafiq dəyərlərin əlavə edilməsi əməliyyatlarını həyata keçirmək lazımdır (Siyahı 1.10).

Siyahı 1.9. Fayl 1.html

  • Təsadüfi ifadə
  • Nömrələrin əlavə edilməsi


  • 1
  • 2
  • +
  • Hesablayın
  • Forma dəyərləri göstərmək üçün bir mətn sahəsindən ibarətdir. “1”, “2”, “+” simvollarını təşkil etmək üçün teqlərdən (digər teqlərdən, məsələn, düymələrdən istifadə edilə bilər) və yekun nəticəni göstərmək üçün düymədən istifadə edilmişdir. Konteynerlərdə əlavə (…) funksiyasını çağıran, müvafiq dəyəri (1, 2, +) JS skriptinə parametr kimi ötürən onClick hadisəsi var. İd="ok" olan düymə heç bir parametri olmayan press_button() funksiyasını çağırır. Bu funksiya hesablayır və nəticəni pəncərəyə qaytarır.

    Siyahı 1.10. my_script.js faylı

  • funksiya əlavəsi (dəyər) (
  • document.getElementById("cavab").value += dəyər;
  • funksiya press_button() (
  • var cavab = 0;
  • var equation = document.getElementById("cavab").value;
  • ədədlər = equation.split("+");
  • üçün (mən rəqəmlərlə)
  • if (nömrələr[i] != "") cavab += parseInt(nömrələr[i]);
  • Listing 1.10-dakı birinci funksiya, hansı teq tıklandığından asılı olaraq formanın mətn sahəsini "1", "2" və ya "+" dəyəri ilə doldurur.

    İkinci funksiya id="cavab" ilə mətn sahəsindən dəyər atributunun qiymətini oxuyur və bu dəyəri tənlik dəyişəninə təyin edir. Bu n simvoldan ibarət sətirdir. Məsələn, ""1+2+1"" və ya ""1212+1121+1++2"" yazmaq olar.

    Əlavə əməliyyatının istifadə edildiyini əvvəlcədən bildiyimiz üçün "+" işarəsi ədədlər massivində sətir ayırıcı kimi istifadə olunur. Bunun üçün .split("+") funksiyasından istifadə olunur. Rəqəm dəyişəni bu dəyərləri ehtiva edir.

    İndi massivdən keçmək və bütün elementləri toplamaq lazımdır. Bunun üçün for (rəqəmlərdə i)(…) döngəsindən istifadə edin. Halbuki ikisi var mühüm məqamlar, əlavə edərkən nəzərə alınmalıdır.

    Birincisi, nömrələr massivi sətir dəyərlərini ehtiva edir. Əgər sətir dəyərləri üçün “+” əməliyyatından istifadə etsəniz, elementlər bir sətirdə birləşdiriləcək. Rəqəmlərin əlavə edilməsinə cavab almaq istəyirik. Buna görə də sətir dəyərlərini ədədi dəyərlərə çevirmək lazımdır. Bunun üçün parseInt(numbers[i]) funksiyasından istifadə edin. Sayı = i olan massiv elementi ona ötürülür.

    İkincisi, istifadəçi əvvəlcə yanlış sətir təyin edə bilər. Məsələn, ""1212+1121+1++2"". Bu halda .split("+") funksiyasından istifadə edərkən təkcə rəqəmlər deyil, həm də boş qiymətlər alınacaq. Boş dəyərlər atılmalıdır. Bunun üçün if (nömrələr[i] != "") şərtindən istifadə edin.

    Nəhayət, nəticələri hesablamaq üçün ilkin olaraq 0-a bərabər olan var cavab dəyişəni təqdim edildi. Hər bir iterasiya addımında dövrəyə dəyərlər əlavə olunur. Bu dəyər daha sonra sənədin mətn sahəsinə qaytarılır.getElementById("cavab").value = cavab.

    Əlavə(dəyər) və press_button() funksiyalarının yaxşı cəhəti ondan ibarətdir ki, onlardan istənilən tam ədədi əlavə etmək üçün istifadə oluna bilər. Siz diapazondakı bütün nömrələri teqlərdə təyin edə və onClick() hadisəsini idarə edə bilərsiniz. Və ya id="cavab" ilə mətn sahəsinə daxil olmağa icazə verin və hərflərin daxil edilməsini söndürün.

    press_button() funksiyası (hazırda yazıldığı kimi) bütün nömrə əməliyyatlarını idarə etmək üçün uyğun deyil. Çünki split funksiyası sətri yalnız bir qiymətə bölür.

    Digər hesab əməliyyatlarının işlənməsini həyata keçirmək üçün, məsələn, onların arasındakı işarəni təhlil edərək, daxil edilmiş ilk iki ədədi əlavə edə bilərsiniz. Bunlar. "Hesabla" düyməsinin basılmasını gözləmədən, daxil edilmiş dəyərləri emal edin və ara nəticə çıxarın (Siyahı 1.11, 1.12).

    Siyahı 1.11. Fayl 1.html

  • Təsadüfi ifadə
  • Nömrələrin əlavə edilməsi


  • 1
  • 2
  • +
  • Hesablayın
  • Qeyd edək ki, daxil bu halda(Siyahı 1.11) bütün dəyərlər press_button() funksiyasına ötürülür.

    Siyahı 1.12. my_script.js faylı

  • var sayı = "";
  • var cavab = 0;
  • funksiya basın_düyməsinə(dəyər) (
  • əgər (dəyər == "1" || dəyər == "2")
  • sayı += dəyər;
  • document.getElementById("cavab").value = sayı;
  • başqa halda (dəyər == "+")
  • əgər (nömrə != "")
  • cavab += parseInt(nömrə);
  • sayı = "";
  • document.getElementById("cavab").value = cavab;
  • başqa əgər (dəyər =="ok") !}
  • əgər (nömrə =="") cavab = document.getElementById("cavab").value;
  • başqa cavab += parseInt(nömrə);
  • document.getElementById("cavab").value = cavab;
  • cavab = 0;
  • sayı = "";
  • press_button(value) funksiyası ötürülən dəyəri təhlil edir. Əgər dəyər rəqəmdirsə (1 və ya 2), o zaman ardıcıllıq mətn sahəsinə daxil edilir.

    Əgər ötürülən dəyər “+” işarəsidirsə, əvvəllər daxil edilmiş nömrə cavaba əlavə edilir (cavab += parseInt(nömrə); ), daxil edilmiş sətir sıfırlanır: nömrə = "";, cavab ekranda göstərilir. mətn sahəsi. Bu hərəkətlər yalnız rəqəm != "", yəni. əgər nömrə “+” işarəsini daxil etməzdən əvvəl daxil edilibsə.

    Əgər ötürülən dəyər “ok” sözüdürsə, nömrənin əvvəllər daxil edilib-edilmədiyini görmək üçün yenidən müqayisə aparılır. Əgər belə deyilsə, mətn sahəsinin dəyəri dəyişdirilmir. Əgər nömrə daxil edilibsə, onda toplama baş verir və nəticə göstərilir. Düyməni basmaq əlavə toplama tələb etmədiyi üçün cavab yenidən 0 qiymətini alır.

    Riyazi əməliyyatlar istənilən proqramlaşdırma dilinin ən əsas və universal funksiyalarından biridir. JavaScript-də nömrələr tez-tez brauzer pəncərəsinin ölçüsünü təyin etmək, pul əməliyyatının son qiymətini və ya veb-sayt sənədindəki elementlər arasındakı məsafəni hesablamaq kimi ümumi vəzifələrdə istifadə olunur.

    Yaxşı tərtibatçı olmaq üçün riyaziyyatda yaxşı olmaq lazım deyil, lakin JavaScript-də hansı növ əməliyyatların mövcud olduğunu və praktik tapşırıqları yerinə yetirmək üçün onlardan necə istifadə olunacağını bilmək vacibdir.

    Digər proqramlaşdırma dillərindən fərqli olaraq, JavaScript yalnız bir ədədi məlumat növünə malikdir; tam ədədlər və üzən ədədlər arasında fərq qoymur.

    Bu dərslik arifmetik operatorları, təyin operatorlarını və JavaScript ədədi verilənləri ilə əməliyyatların ardıcıllığını əhatə edəcək.

    Arifmetik operatorlar

    Arifmetik operatorlar müəyyən edən simvollardır riyazi əməliyyatlar və nəticəni qaytarın. Məsələn, 3 + 7 = 10-da + simvolu əlavə əməliyyatı üçün sintaksisi müəyyən edir.

    Bir çox JavaScript operatorları sizə tanışdır əsas riyaziyyat, lakin bir neçə əlavə operator da var.

    Bütün JavaScript arifmetik operatorları aşağıdakı cədvəldə təqdim olunur.

    Operator Sintaksis Misal Tərif
    Əlavə + x+y x və y cəmi
    Çıxarma x - y x və y arasındakı fərq
    Vurma * x*y x və y-nin törəməsi
    Bölmə / x/y x və y nisbəti
    Modul % x % y Qalan x/y
    Eksponentasiya ** x**y x y-nin gücünə
    Artırma ++ x++ x plus bir
    Azaltmaq x— x mənfi bir
    Toplama və çıxma

    Toplama və çıxma operatorları JavaScript-də mövcuddur və ədədi dəyərlərin cəmini və fərqini tapmaq üçün istifadə edilə bilər. JavaScript daxili kalkulyatora malikdir və riyazi əməliyyatlar birbaşa konsolda həyata keçirilə bilər.

    Artı işarəsi rəqəmlər əlavə etməyə imkan verir, məsələn:

    JavaScript sadə ədədlərlə əməliyyatlara əlavə olaraq, dəyişənlərə nömrələr təyin etməyə və onlar üzərində hesablamalar aparmağa imkan verir. Məsələn, x və y dəyişənlərinə rəqəmli dəyərlər təyin edə və nəticəni z-ə qoya bilərsiniz.

    // X və y-yə qiymətlər təyin edin
    qoy x = 10;
    qoy y = 20;
    //x və y əlavə edin və cəmini z-ə təyin edin
    qoy z = x + y;
    console.log(z);
    30

    // X və y-yə qiymətlər təyin edin
    qoy x = 10;
    qoy y = 20;
    // y-dən x-i çıxarın və fərqi z-ə təyin edin
    qoy z = y - x;
    console.log(z);
    10

    // X və y-yə qiymətlər təyin edin
    qoy x = -5,2;
    qoy y = 2,5;
    // x-dən y-ni çıxarın və fərqi z-ə təyin edin
    qoy z = x - y;
    console.log(z);
    -7.7

    JavaScript-də bir var maraqlı xüsusiyyət nəzərə alınmalı və bilinməli olan , ədədin və sətirin əlavə edilməsinin nəticəsidir. Bilirik ki, 1+1 2-yə bərabər olmalıdır, lakin bu tənlik gözlənilməz nəticə verəcək.

    qoy x = 1 + "1";
    console.log(x);
    x növü;
    11
    "simli"

    Nömrələr əlavə etmək əvəzinə, JavaScript bütün ifadəni sətirlərə çevirir və onları birləşdirir. JavaScript-də dinamik yazmaqla diqqətli olmaq vacibdir, çünki bu, arzuolunmaz nəticələrə səbəb ola bilər.

    JavaScript-də əlavə və çıxma tez-tez naviqasiya panelini sürüşdürmək üçün istifadə olunur.

    funksiyası scrollToId() (
    daimi navHeight = 60;
    window.scrollTo(0, window.pageYOffset - navHeight);
    }
    window.addEventListener("hashchange", scrollToId);

    Bu halda, panel id-dən 60 piksel sürüşəcək.

    Vurma və bölmə

    JavaScript vurma və bölmə operatorları ədədi dəyərlərin törəmə və bölməsini tapmaq üçün istifadə olunur.

    Ulduz işarəsi vurma operatorudur.

    // X və y-yə qiymətlər təyin edin
    qoy x = 20;
    qoy y = 5;
    // Məhsulu əldə etmək üçün x-i y-ə vurun
    qoy z = x * y;
    console.log(z);
    100

    Satış vergisi tətbiq edildikdən sonra bir maddənin qiymətini hesablamaq üçün vurma üsulundan istifadə edilə bilər.

    const qiyməti = 26,5; // Əşyanın vergidən əvvəlki qiyməti
    sabit vergi dərəcəsi = 0,082; // 8,2% vergi dərəcəsi
    // Vergidən sonra cəmi iki onluq yerlərə qədər hesablayın
    qoy totalPrice = qiymət + (qiymət * taxRate);
    totalPrice.toFixed(2);
    console.log("Ümumi:", cəmi Qiymət);
    Cəmi: 28.67

    Slash bölmə operatorudur.

    // X və y-yə qiymətlər təyin edin
    qoy x = 20;
    qoy y = 5;
    // Sitat almaq üçün y-ni x-ə bölün
    qoy z = x / y;
    console.log(z);
    4

    Bölmə xüsusilə vaxtın hesablanması zamanı faydalıdır, məsələn, testdə düzgün olan saatların və ya faizin hesablanması.

    Nömrə modulu

    Modulus əvvəlkilərdən daha az populyar olan başqa bir arifmetik operatordur. % simvolu ilə təmsil olunur. Birinci nömrə ikinciyə bölündükdə qalığı qaytarır.

    Məsələn, 9-un 3-ə qalıqsız bölündüyünü bilirik:

    Rəqəm modulu rəqəmin cüt və ya tək olduğunu müəyyən etməyə imkan verir, məsələn:

    // Ədədin cüt olub olmadığını yoxlamaq üçün funksiyanı işə salın
    sabit cüt = x => (
    // İkiyə bölündükdən sonra qalıq 0 olarsa, doğru qaytarın
    əgər (x % 2 === 0) (
    doğru qayıt;
    }
    // Əgər rəqəm təkdirsə, yalanı qaytarın
    yalanı qaytarmaq;
    }
    // Nömrəni yoxlayın
    isEven(12);
    doğrudur

    Bu misalda 12 2-yə bölünür, ona görə də cüt ədəddir.

    Proqramlaşdırmada ədəd modulu çox vaxt şərti ifadələrlə birlikdə istifadə olunur.

    Eksponentasiya

    Exponentiation JavaScript-də ən yeni operatorlardan biridir. Eksponentasiya üçün sintaksis ardıcıl iki ulduzdur (**).

    Məsələn, 10-dan beşinci dərəcəyə (10^5) belə yazılır:

    10 ** 5;
    100000

    10**5 əməliyyatı 5 dəfə təkrarlanan 10*10 ilə eyni nəticəyə malikdir.

    10 * 10 * 10 * 10 * 10;

    Bu əməliyyat Math.pow() metodu ilə də yazıla bilər.

    Math.pow(10, 5);
    100000

    Göstərici operatordan istifadə − sürətli yol verilmiş nömrənin gücünü təyin edin, lakin həmişə olduğu kimi, metod və operator arasında seçim edərkən ardıcıl olmaq və eyni üslubda kod yazmaq vacibdir.

    Artırma və azalma

    Artırma və azaltma operatorları dəyişənin ədədi dəyərini bir artırır və ya azaldır. Onlar iki artı (++) və ya iki mənfi (—) ilə təmsil olunur və tez-tez döngələrdə istifadə olunur.

    Nəzərə alın ki, artım və azalma operatorları yalnız dəyişənlərlə istifadə edilə bilər. Onları sadə ədədlərlə istifadə etməyə çalışmaq xəta ilə nəticələnəcək.

    7++
    Tutulmamış Referans Xətası: Postfiks əməliyyatında yanlış sol tərəf ifadəsi

    Artırma və azaltma operatorlarını dəyişənə münasibətdə operatorun harada yerləşdirilməsindən asılı olaraq prefiks və postfiks operatorları kimi təsnif etmək olar.

    Prefiksin artımı ++x kimi yazılır.

    //Dəyişən təyin edin
    qoy x = 7;

    let prefiksi = ++x;
    console.log(prefiks);
    8

    X dəyəri 1 artdı. Postfiks artımı y++ kimi yazılır.

    //Dəyişən təyin edin
    qoy y = 7;
    // Prefiksin artırılması əməliyyatından istifadə edin
    qoy postfiks = y++;
    console.log(postfix);
    7

    Postfiks əməliyyatı dəyəri artırmadı. İfadə qiymətləndirilənə qədər bu dəyər artırılmayacaq. Bunu etmək üçün əməliyyatı iki dəfə yerinə yetirməlisiniz:

    qoy y = 7;
    y++;
    y++;
    console.log(y);
    8

    Çox vaxt bu operatorlar döngələrdə olur. IN bu dövrə For ifadəsi 0-dan başlayaraq 10 dəfə yerinə yetirilir.

    // Döngəni on dəfə yerinə yetirin
    üçün (i = 0; i< 10; i++) {
    console.log(i);
    }
    0
    1
    2
    3
    4
    5
    6
    7
    8
    9

    Bu misalda döngə artım operatorundan istifadə etməklə təkrarlanır.

    Sadəcə olaraq, x++ x = x + 1 üçün qısa, x isə x = x – 1 üçün qısa olaraq düşünülə bilər.

    Təyinat operatorları

    Ən çox istifadə olunan operatorlardan biri təyinat operatorudur ki, biz artıq bu dərslikdə görmüşük. Bərabər işarəsi (=) ilə təmsil olunur. = simvolu sağdakı dəyəri soldakı dəyişənə təyin etmək üçün istifadə olunur.

    // Yaş dəyişəninə 27 təyin edin
    yaş = 27;

    Standart təyin operatoruna əlavə olaraq, JavaScript-də arifmetik operatoru = operatoru ilə birləşdirən mürəkkəb təyinetmə operatorları var.

    Məsələn, əlavə operatoru orijinal dəyərdən başlayacaq və ona yeni bir dəyər əlavə edəcəkdir.

    // Yaş dəyişəninə 27 təyin edin
    yaş = 27;
    yaş += 3;
    console.log(yaş);
    30

    Əslində, yaş += 3 yaş = yaş + 3 ilə eynidir.

    Bütün arifmetik operatorlar təyin operatoru ilə birləşdirilə bilər. Aşağıda JavaScript-də təyinat operatorlarının istinad cədvəli verilmişdir.

    Mürəkkəb təyinetmə operatorları tez-tez artımlar və azalmalar kimi döngələrdə istifadə olunur.

    Operatorun üstünlüyü

    Operatorlar adi riyaziyyatda olduğu kimi prioritet sırasına görə yerinə yetirilir.

    Məsələn, vurma əlavədən daha üstündür.

    // Əvvəlcə 3-ü 5-ə vurun, sonra 10-u əlavə edin
    10 + 3 * 5;
    25

    Əvvəlcə əlavə əməliyyatı yerinə yetirmək lazımdırsa, onu mötərizədə qoyun - belə əməliyyatlar həmişə ən yüksək prioritetə ​​malikdir.

    // Əvvəlcə 10 və 3-ü əlavə edin, sonra 5-ə vurun
    (10 + 3) * 5;
    65

    Aşağıda JavaScript-də arifmetik operatorların üstünlük cədvəlini tapa bilərsiniz. Artırma və azalma üçün postfiks prefiksdən daha yüksək prioritetə ​​malikdir.

    Artırma/azaltma, vurma/bölmə və toplama/çıxma eyni prioritet səviyyəyə malikdir.

    Təkcə arifmetik operatorlar deyil, həm də təyin operatorları, məntiqi operatorlar, şərti operatorlar və s. Tam siyahı görə bilərsiniz.

    Teqlər: JavaScript - Dərs 1. Əsas anlayışlar JavaScript proqramlaşdırma dili Netscape tərəfindən Sun Microsystems ilə əməkdaşlıqda hazırlanmış və 1995-ci ildə buraxılmışdır. JavaScript interaktiv HTML sənədləri yaratmaq üçün nəzərdə tutulmuşdur. JavaScript-in əsas istifadələri:
    • Dinamik səhifələrin yaradılması, yəni. yükləndikdən sonra məzmunu dəyişə bilən səhifələr.

    • İstifadəçi formalarının düzgün doldurulmasının yoxlanılması.

    • Skriptlərdən istifadə edərək "yerli" problemlərin həlli.

    • JavaScript kodu əksər Ajax proqramlarının əsasını təşkil edir.

    JavaScript müştəri tərəfində işləyən proqramlar yaratmağa imkan verir, yəni. bu proqramlar istifadəçinin kompüterindəki brauzer tərəfindən icra edilir.

    Bu dildəki proqramlar (skriptlər) brauzerdə quraşdırılmış tərcüməçi tərəfindən işlənir. Təəssüf ki, bütün skriptlər bütün brauzerlərdə düzgün işləmir, buna görə də JavaScript proqramlarınızı müxtəlif brauzerlərdə sınaqdan keçirin.

    JavaScript dili hərflərə həssasdır, yəni. paytaxtlar və böyük hərflərəlifba müxtəlif simvollar hesab olunur.

    Skriptlər yazmağa başlamazdan əvvəl hərflər, dəyişənlər və ifadələr kimi əsas anlayışlarla tanış olmalısınız.

    Hərfi

    Literallar proqramın işləyə biləcəyi ən sadə verilənlərdir.

    • Tam hərflər- təmsildəki tam ədədlər:
      • ondalık, məsələn: 15, +5, -174.

      • hexadecimal, məsələn: 0x25, 0xff. Onaltılıq ədədlərə 0 - 9 rəqəmləri və a, b, c, d, e, f hərfləri daxildir.

      • Onlar ədədin qarşısında 0x işarələri ilə yazılır.


    • səkkizlik, məsələn: 011, 0543. Səkkizlik ədədlərə yalnız 0 - 7 rəqəmləri daxildir. Həqiqi hərflər

    • - kəsr ədədləri. Tam hissə kəsr nöqtəsindən ayrılır, məsələn: 99.15, -32.45. Qeydin eksponensial forması mümkündür, məsələn: 2.73e -7. Adi formada bu 2.73X10 -7-dir, lakin javascript-də vurma işarəsi və 10 -e- simvolu ilə əvəz olunur.

    • Boolean dəyərləri- ikidən: doğru (doğru) və batil (batil).
    Sətir hərfi

    - tək və ya qoşa dırnaq içərisində olan simvollar ardıcıllığı. Məsələn: "adınız", "adınız". Dəyişənlər Dəyişənlər məlumatları saxlamaq üçün istifadə olunur. Dəyişənlər operatordan istifadə etməklə müəyyən edilir var

    , ardınca dəyişən adı. Dəyişən adı hərflə başlamalıdır
    Latın əlifbası
    və ya alt xətt ilə. Adın özündə latın əlifbasının hərfləri, rəqəmlər və alt xətt ola bilər.
    Məsələn:

    var test = var_test

    , ardınca dəyişən adı. Dəyişən adı hərflə başlamalıdır
    var_my_test1
    Hər bir dəyişənə ya onun inisializasiyası (bəyanatı) zamanı, ya da proqramın kodunda qiymət təyin oluna bilər. Təyinat operatoru bərabər işarəsi ilə işarələnir (
    ), lakin bərabər işarənin burada birbaşa mənası yoxdur. Bu halda, o, yalnız bu dəyişənə dəyər təyin olunduğunu göstərir.
    var a=15

    var b=23.15 var c="edildi" var s=doğru Hər bir dəyişənin dəyişənin dəyəri ilə təyin olunan bir növü var. Beləliklə, bizim nümunəmizdə: dəyişənlər a b növü var nömrə , dəyişən c növü var simli

    , və dəyişən

    s

    - məntiqi tip. var c="edildi"İfadələr İfadələr hərflərdən, dəyişənlərdən, operator işarələrindən və mötərizələrdən qurulur. İfadənin qiymətləndirilməsinin nəticəsi ədəd, sətir və ya Boolean dəyəri ola bilən tək dəyərdir. a*b ifadəsində, b * adlanırlar

    operandlar

    , A

    - əməliyyat işarəsi. Javascript-də aşağıdakı əməliyyatlar müəyyən edilmişdir:

    İki dəyəri müqayisə etmək üçün javascript-də müqayisə əməliyyatları müəyyən edilir, nəticəsi yalnız məntiqi dəyər ola bilər: doğru və ya yalan:

    Boolean əməliyyatları javascript-də müəyyən edilir:

    && - məntiqi VƏ (AND),

    || - məntiqi OR (OR),

    ! - məntiqi DEYİL (YOX).

    Məntiqi operatorların operand dəyərlərinin müxtəlif kombinasiyalarına təsirinin nəticələri cədvəldə göstərilir:

    A B A&&B A||B !A
    doğrudurdoğrudurdoğrudurdoğruduryalan
    doğruduryalanyalandoğruduryalan
    yalandoğruduryalandoğrudurdoğrudur
    yalanyalanyalanyalandoğrudur

    Sadəcə olaraq, hər iki ifadə doğrudursa, A&&B dəyəri doğrudur, əks halda yanlışdır. A||B ifadəsinin qiyməti ən azı bir operandın qiyməti doğru olarsa doğrudur, əks halda yanlışdır. Əgər A operandının qiyməti doğrudursa, onda!A yanlışdır və əksinə.

    Sətir hərfi üçün əməliyyat müəyyən edilmişdir simli birləşmə, yəni. onların birləşməsi. Bu əməliyyat artı işarəsi (+) ilə göstərilir. Əməliyyatın nəticəsi də sətirdir. Misal:

    Var st1="Salam";
    var st2="Vasya";
    var st3=st1+st2;

    Nəticədə, st3 dəyişəni "Salam Vasya" dəyərini ehtiva edəcəkdir.

    Sonda əməliyyatların prioritetləri cədvəlini azalan qaydada təqdim edirik. Operatorun üstünlüyü ifadədəki əməliyyatların yerinə yetirilmə sırasını müəyyən edir.

    Birinci dərs başa çatdı, nəzəri oldu, amma nəzəriyyəsiz praktikaya keçmək mümkün deyil.

    Bu yazını oxuyan hər kəsə xeyirli gün. Bu gün sizə JavaScript-də əlavə haqqında ətraflı məlumat verəcəyəm. Daha dəqiq desək, biz sizinlə sadə ədədlərin, sətir dəyişənlərinin və massivlərin toplanmasının necə həyata keçirildiyini, unar və ikili operatorların fərqinin nədən ibarət olduğunu, əməliyyatların prioritetlərinin nədən ibarət olduğunu, həmçinin artım və azalma dedikdə nəyin nəzərdə tutulduğunu müzakirə edəcəyik.

    Gəlin başlayaq!

    Şərtləri anlayaq

    Bu məqalənin əvvəlində mən istəyirəm ki, hesablamalarla əlaqəli proqramlaşdırma dillərində əsas şərtləri başa düşəsiniz. Ola bilsin ki, çoxunuz uzun müddətdir onlarla işləyirsiniz. Və bu əladır.

    Beləliklə, operand, unar və binar operator kimi terminlərin nə demək olduğunu bilməyə dəyər.

    Operand müəyyən operatorların tətbiq olunduğu elementdir. Beləliklə, məsələn, "15 - 38" girişində operator mənfi işarədir, operandlar isə 15 və 38 rəqəmləridir.

    Unar və ya ikili operator nədir? Burada da hər şey sadədir. Unary ("uno" sözündən, "bir" deməkdir) yalnız bir elementə aiddir. Məsələn, -7. Bu halda minus unar operatordur. İkili ("iki"nin nə demək olduğu artıq aydındır) iki obyektlə işləyir. Burada misal olaraq “12*701”-dən istifadə edə bilərik.

    “Mənim prioritetlərim var! Ona görə də sizin sifarişinizə əhəmiyyət vermirəm!”

    Əminəm ki, hər kəs hesab əməliyyatlarının aparılmasının prioritetlərini bilir. Lakin proqramlaşdırma dillərinin öyrənilməsi ilə bu siyahıya başqa növlər də əlavə olunur. 0-dan 19-a qədər cəmi 20 səviyyə var.

    Aşağıdakı cədvəldə mən bir neçə operatoru əhəmiyyətinə görə sıralamışam.

    Problemi həll etmək üçün digər operatorlar haqqında məlumat əldə etməlisinizsə, linkdə verilmiş tam cədvələ keçin.

    Artırma və azalma

    Prioritet verməklə başlayaq. Digər proqramlaşdırma dillərində olduğu kimi JavaScript-də də ən çox yayılmış əməliyyatlar cari fəslin başlığında adları çəkilən əməliyyatlardır. Onlar müəyyən bir elementin dəyərini bir azaltmaq və ya artırmaq üçün istifadə olunur.

    Artırmanın və azalmanın iki növü var: postfiks və prefiks. Üstəlik, birinci növə 16, ikinciyə isə 15 üstünlük verilir.

    Fərq nömrənin dəyişdiyi andadır. Beləliklə, prefiks növləri dəyəri dərhal artırır və ya azaldır. Beləliklə, əgər xətt deyirsə:

    sonra proqramı işə saldıqda, kodu işlətdikdən sonra postfiks operatorlarından istifadə edərkən 2 göstərilir

    1 göstəriləcək.

    Testlərdə və ya müsahibələrdə tez-tez verilən bir nümunəyə baxaq. Birinci və ikinci çıxışlar üçün ekranda nə göstəriləcəyini söyləməlisiniz.

    1 2 "ciddi istifadə edin"; 3 var i = 3; 4 i--; // i = i - 1 üçün qısa və rahat notation. 5 alert(++i + i++); //i=? 6 xəbərdarlıq(i);// i=? 7

    İndi bir nəzər salaq. Dördüncü sətir i-nin bir azalmasını göstərir. Dəyişikliklər proqramın növbəti sətri yerinə yetirildikdə qüvvəyə minəcək. Buna görə də, xəbərdarlıq çağırıldıqda, i dəyişəni 2-yə bərabər olacaqdır.

    Prefiks artımı dərhal dəyəri 1 artırır, postfiks artımı isə növbəti sətirdə qüvvəyə minir. Nəticədə "3+3" girişini alırıq, yəni dialoq qutusunda 6 göstəriləcək.

    Növbəti sətirdə artım işlədi və buna görə də 4-ü göstərir.

    Elementlər əlavə edərkən yeni bir şey

    JS-də yalnız rəqəmləri deyil, həm də digər dəyişən növlərini əlavə edə bilərsiniz: sətirlər və s. Nümunə olaraq, proqramın bir hissəsini nəzərdən keçirin.

    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

    function myFunction() ( var a=3, b=7; var str1="Salam, ", str2="dost!"; var c = a+b; var str = str1+str2; var mix = str1+a; alert(c+"\n"+str+"\n"+mix); //göstərəcək: 10 // Salam, dost! // Salam, 3 )

    Əlavənin ikinci və üçüncü hallarında sətirlər birləşdirilir, yəni. onları birləşdirir. Təcrübəsiz tərtibatçılar üçün problemlər burada yaranır.

    Tutaq ki, siz müəyyən bir dəyəri çıxartdınız, bu sətir var str1="10";

    və eyni zamanda onu var a=3 ədədi ilə cəmləmək lazımdır; . Əgər əməliyyat var mix = str1+ a; , sonra siqnalı çıxararkən (qarışıq);

    Ekranda “103” görünəcək. Bunun qarşısını almaq üçün mətn dəyişəni aşağıdakı kimi çevrilməlidir:

    var mix = parseInt (str1, 10)+a;. //cavab: 13

    Gəlin massivlərə keçək. Skript dilində bir neçə massivi birləşdirən funksiya var. Bu konkatdır.

    1 2 3 4 var numbers1 = ; var numbers2 = ; // massiv çıxır; var nums = numbers1.concat(numbers2); xəbərdarlıq (nömrələr);