Përparësia e operatorit në JavaScript. JavaScript: Operatorët që shtojnë dhe zbresin operatorët

Operacionet e matematikës janë ndër funksionet më themelore dhe të gjithanshme të çdo gjuhe programimi. Në JavaScript, numrat përdoren shpesh në detyra të përgjithshme si përmasimi i një dritare shfletuesi, llogaritja e çmimit përfundimtar të një transaksioni parash, ose distanca midis elementeve në një dokument të faqes.

Ju nuk keni nevojë të keni aftësi të larta matematikore për të qenë një zhvillues i mirë, por është e rëndësishme të dini se cilat lloje të operacioneve janë në dispozicion në JavaScript dhe si t'i përdorni ato për të përmbushur detyra praktike.

Ndryshe nga gjuhët e tjera të programimit, JavaScript ka vetëm një lloj të dhënash numerike; nuk ndan numrat e plotë dhe numrat e pikave lundruese.

Ky udhëzues do të mbulojë operatorët aritmetikë, operatorët e caktimit dhe renditjen e operacioneve në të dhënat numerike JavaScript.

Operatorët aritmetikë

Operatorët aritmetikë janë simbole që përcaktojnë veprimet matematikore dhe kthejnë një rezultat. Për shembull, në 3 + 7 \u003d 10, karakteri + përcakton sintaksën për veprimin e mbledhjes.

Shumë operatorë JavaScript janë të njohur për ju nga matematika themelore, por ka edhe disa operatorë shtesë.

Të gjithë operatorët aritmetikë JavaScript tregohen në tabelën vijuese.

Operatori Sintaksë Shembull Përkufizimi
Shtesa + x + y Shuma e x dhe y
Zbritja x - y Diferenca midis x dhe y
Shumëzimi * x * y Derivati \u200b\u200bi x dhe y
Ndarja / x / y Privat x dhe y
Moduli % x% y Mbetje x / y
Eksponimi ** x ** y x në fuqinë e y
Rritja ++ x ++ x plus një
Zbërthimi x— x minus një

Mbledhja dhe zbritja

Operatorët e mbledhjes dhe zbritjes janë në dispozicion në JavaScript dhe mund të përdoren për të gjetur shumën dhe ndryshimin e vlerave numerike. JavaScript ka një kalkulator të integruar dhe operacionet e matematikës mund të kryhen direkt në tastierë.

Shenja plus ju lejon të shtoni numra, për shembull:

Përveç manipulimit të numrave kryesor, JavaScript ju lejon të caktoni numra në variabla dhe të kryeni llogaritjet mbi to. Për shembull, mund të caktoni vlera numerike variablave x dhe y, dhe ta vendosni rezultatin në z.

// Cakto vlerat x dhe y
le x \u003d 10;
le y \u003d 20;
// Shtoni x dhe y dhe caktoni shumën z
le z \u003d x + y;
tastierë.log (z);
30

// Cakto vlerat x dhe y
le x \u003d 10;
le y \u003d 20;
// Zbrit x nga y dhe cakto ndryshimin në z
le të z \u003d y - x;
tastierë.log (z);
10

// Cakto vlerat x dhe y
le të jetë x \u003d -5,2;
le y \u003d 2.5;
// Zbrit y nga x dhe cakto ndryshimin në z
le z \u003d x - y;
tastierë.log (z);
-7.7

Një tipar interesant në JavaScript për ta mbajtur në mend dhe për ta ditur është rezultati i shtimit të një numri dhe një vargu. Ne e dimë që 1 + 1 duhet të jetë e barabartë me 2, por ky ekuacion do të japë rezultate të papritura.

le x \u003d 1 + "1";
tastierë.log (x);
lloji i x;
11
"varg"

Në vend që të shtojë numra, JavaScript shndërron të gjithë shprehjen në vargje dhe i bashkon ato. Shtë e rëndësishme të jesh i kujdesshëm me shtypjen dinamike të JavaScript pasi mund të ketë rezultate të padëshiruara.

Mbledhja dhe zbritja në JavaScript shpesh përdoret për të lëvizur shiritin e navigimit.

funksioni scrollToId () (
konstitHeight \u003d 60;
window.scrollTo (0, window.pageYOffset - navHeight);
}
window.addEventListener ("hashchange", scrollToId);

Në këtë rast, paneli do të lëvizë 60 piksele nga id.

Shumëzimi dhe pjesëtimi

Operatorët e shumëzimit dhe pjesëtimit JavaScript përdoren për të gjetur derivatin dhe herësin e vlerave numerike.

Ylli është operatori i shumëzimit.

// Cakto vlerat x dhe y
le x \u003d 20;
le y \u003d 5;
// Shumëzoni x me y për të marrë produktin
le z \u003d x * y;
tastierë.log (z);
100

Shumëzimi mund të përdoret për të llogaritur çmimin e një artikulli pas vendosjes së taksës së shitjes.

çmimi konst \u003d 26,5; // Çmimi i sendit para tatimit
Shkalla tatimore e konstatuar \u003d 0,082; // Shkalla e taksës 8.2%
// Llogarit totalin pas taksës në dy presje dhjetore
le totalPrice \u003d çmimi + (çmimi * Vlerësimi i taksës);
totalPrice.toFixed (2);
console.log ("Gjithsej:", total Çmimi);
Gjithsej: 28,67

Slash është operatori i ndarjes.

// Cakto vlerat x dhe y
le x \u003d 20;
le y \u003d 5;
// Ndani y në x për të marrë herës
le të z \u003d x / y;
tastierë.log (z);
4

Ndarja është veçanërisht e dobishme kur llogaritni kohën, për shembull, kur llogaritni numrin e orëve ose përqindjen e përgjigjeve të sakta në një test.

Vlera absolute e një numri

Moduli është një operator tjetër aritmetik, më pak i njohur se ata të mëparshmit. Përfaqësohet nga simboli%. Kthen pjesën e mbetur kur numri i parë ndahet me të dytin.

Për shembull, ne e dimë që 9 është i pjesëtueshëm me 3 pa mbetur:

Moduli i numrave ju lejon të përcaktoni një numër çift ose tek, për shembull:

// Inicializoni funksionin për të provuar nëse një numër është çift
konst është edhe \u003d x \u003d\u003e (
// Nëse pjesa e mbetur pas pjesëtimit me dy është 0, ktheje të vërtetë
nëse (x% 2 \u003d\u003d\u003d 0) (
kthimi i vërtetë;
}
// Nëse numri është tek, kthehu false
kthehen false;
}
// Testo numrin
ështëEven (12);
e vertete

Në këtë shembull, 12 është i pjesëtueshëm me 2, kështu që ky është një numër çift.

Në programim, njësia e numrave shpesh përdoret së bashku me pohimet e kushtëzuara.

Eksponimi

Exponentiation është një nga operatorët më të rinj JavaScript. Sintaksa për eksponentim është dy yje të njëpasnjëshëm (**).

Për shembull, 10 deri në fuqinë e pestë (10 ^ 5) është shkruar kështu:

10 ** 5;
100000

Operacioni 10 ** 5 ka të njëjtin rezultat si 10 * 10, i përsëritur 5 herë.

10 * 10 * 10 * 10 * 10;

Ju gjithashtu mund ta shkruani këtë operacion duke përdorur metodën Math.pow ().

Matematikë.pow (10, 5);
100000

Përdorimi i operatorit të eksponentimit është një mënyrë e shpejtë për të përcaktuar eksponentin e një numri të caktuar, por, si zakonisht, kur zgjedh midis një metode dhe një operatori, është e rëndësishme të jesh i qëndrueshëm dhe të shkruash kodin në të njëjtin stil.

Rritja dhe zbritja

Operatorët e rritjes dhe zbritjes rrisin ose ulin vlerën numerike të një ndryshore me një. Ato përfaqësohen nga dy plus (++) ose dy minuse (-) dhe përdoren shpesh në sythe.

Shënim: Operatorët e rritjes dhe zbritjes mund të përdoren vetëm me variabla. Përpjekja për t'i përdorur ato me numra të thjeshtë do të rezultojë në një gabim.

7++
Gabim i kapur Referencë: Shprehje e pavlefshme në të majtë në operacionin postfix

Operatorët e rritjes dhe zbritjes mund të klasifikohen si operacione të parashtesave dhe postfikseve, në varësi të vendit ku vendoset operatori në lidhje me ndryshoren.

Shtesa e parashtesës shkruhet si ++ x.

// Vendosni një ndryshore
le x \u003d 7;

le prefiksi \u003d ++ x;
tastierë.log (prefiksi);
8

Vlera e x është rritur me 1. Shtesa e postfiksit shkruhet si y ++.

// Vendosni një ndryshore
le y \u003d 7;
// Përdorni operacionin e rritjes së parashtesave
le postfix \u003d y ++;
console.log (postfix);
7

Operacioni postfix nuk e rriti vlerën. Kjo vlerë nuk do të rritet derisa shprehja të vlerësohet. Për ta bërë këtë, duhet të ekzekutoni operacionin dy herë:

le y \u003d 7;
y ++;
y ++;
tastierë.log (y);
8

Këta operatorë më shpesh gjenden në sythe. Në këtë cikël for, deklarata ekzekutohet 10 herë, duke filluar nga 0.

// Drejtoni një lak dhjetë herë
për (le i \u003d 0; i< 10; i++) {
tastierë.log (i);
}
0
1
2
3
4
5
6
7
8
9

Në këtë shembull, cikli përsëritet duke përdorur operatorin e rritjes.

Ta themi thjesht, x ++ mund të mendohet si një shkurtim për x \u003d x + 1, dhe x si një shkurtim për x \u003d x - 1.

Operatorët e caktimit

Një nga operatorët më të përdorur zakonisht është operatori i caktimit, i cili tashmë është parë në këtë manual. Ajo përfaqësohet nga një shenjë e barabartë (\u003d). Simboli \u003d përdoret për të caktuar një vlerë në të djathtë të një ndryshoreje në të majtë.

// Cakto 27 në ndryshoren e moshës
le mosha \u003d 27;

Përveç operatorit standard të caktimit, JavaScript ka operatorë të përbërë të caktimit që kombinojnë operatorin aritmetik me operatorin \u003d.

Për shembull, deklarata add do të fillojë në vlerën origjinale dhe do t'i shtojë asaj një vlerë të re.

// Cakto 27 në ndryshoren e moshës
le mosha \u003d 27;
mosha + \u003d 3;
tastierë.log (mosha);
30

Në thelb, mosha + \u003d 3 është e njëjtë me moshën \u003d mosha + 3.

Të gjithë operatorët aritmetikë mund të kombinohen me operatorin e caktimit. Më poshtë është një tabelë referimi e operatorëve të caktimit në JavaScript.

Operatorët e caktimit të përbërjes shpesh përdoren në sythe, si rritjet dhe zbritjet.

Prioriteti i operatorit

Operatorët ekzekutohen sipas radhës së përparësisë, ashtu si në matematikën normale.

Për shembull, shumëzimi ka përparësi mbi mbledhjen.

// Së pari shumëzoni 3 me 5, pastaj shtoni 10
10 + 3 * 5;
25

Nëse së pari duhet të kryeni një operacion shtesë, mbylleni atë në kllapa - operacione të tilla gjithmonë kanë përparësinë më të lartë.

// Së pari shtoni 10 dhe 3, pastaj shumëzoni me 5
(10 + 3) * 5;
65

Më poshtë do të gjeni një tabelë të përparësisë së operatorëve aritmetikë në JavaScript. Për rritje dhe zbritje, postfix-i ka përparësi mbi parashtesën.

Shtimi / zvogëlimi, shumëzimi / pjesëtimi dhe mbledhja / zbritja kanë të njëjtin nivel përparësie.

Përparësi u jepet jo vetëm operatorëve aritmetikë, por gjithashtu edhe operatorëve të caktimit, operatorëve logjikë, operatorëve të kushtëzuar, etj. Lista e plotë mund të shikohet.

Etiketat:

Gjuha JavaScript mbështet parimet e programimit të orientuar drejt objektit. Të gjithë objektet që mund të takoni në punë mund të ndahen në tre grupe të mëdha:

1. Objekte gjuhësore të integruara. Këto objekte janë krijuar për të punuar me lloje specifike të të dhënave ose për të kryer detyra të zakonshme (për shembull, Matematikë, Varg, Data e objekteve, etj.). Para përdorimit të objekteve të ndërtuara, shpesh është e nevojshme të krijoni një shembull të përshtatshëm të këtij objekti (përveç Matematikës).

2. Objekte standarde të jashtme. Krijuar për të bashkëvepruar me elementet standarde të ndërfaqes dhe funksionet e shfletuesit. Këto janë objekte të tilla si dritarja, dokumenti dhe ngjarja. Të gjithë objektet e jashtme janë të disponueshme kudo në skenar dhe nuk kërkojnë instancim.

3. Objekte me porosi. Krijuar nga zhvilluesi për disa nevoja specifike. Krijimi i objekteve tuaja kërkon aftësi të caktuara dhe përvojë të zhvillimit.

Çdo objekt përmban veti dhe metoda. Një pronë e objektit është një lloj parametri sasior ose cilësor që përcakton karakteristikat e një objekti. Një metodë e objektit përcakton disa veprime që një objekt i caktuar mund të kryejë. Nëse ne e injorojmë programimin dhe e konsiderojmë një person të zakonshëm si një objekt, atëherë vetitë e tij do të jenë "lartësia", "pesha", "ngjyra e syve", dhe metodat do të jenë "ha", "pi", "shëtitje", etj.

Ju mund t'i referoheni një pronë ose metode duke specifikuar emrin e tyre dhe shembullin e objektit:

objekt.pasuri

objekt.metoda ()

Ky shënim (përmes një periudhe) ju lejon të identifikoni në mënyrë unike një shembull të një objekti, pronat dhe metodat e të cilit dëshironi të përdorni. Në praktikë, vetitë përdoren ashtu si ndryshoret e rregullta, dhe metodat përdoren si funksionet e rregullta. Vini re se emri i metodës duhet të mbarojë gjithmonë në kllapa, edhe nëse nuk i kaloni asnjë parametër metodës. Për shembull:

// interpretuesi do të thërrasë METODA e hapur ()

// interpretuesi do të kërkojë PRON të hapur,

// nuk do ta gjejë atë dhe nuk do të hedhë një gabim

8. Operatorët specialë në JavaScript.

?: Ju lejon të bëni një "nëse ... atëherë ... tjetër" të thjeshtë

Vlerëson dy shprehje dhe kthen rezultatin e shprehjes së dytë.

delete Ju lejon të fshini një pronë ose element të një objekti në një indeks specifik në një grup.

new Ju lejon të krijoni një shembull të një tipi të caktuar nga përdoruesi ose një prej llojeve të objektit të integruar.

kjo Një fjalë kyçe që mund ta përdorni për t'iu referuar objektit aktual.

typeof Kthen një varg që tregon llojin e operandit të pavlerësuar.

void Operatori void përcakton një shprehje që do të vlerësohet pa kthyer një vlerë.

9. Prioritetet e Operatorit në JavaScript.

Vjetërsia e operatorit

Përparësia e operacionit është rendi në të cilin kryhen operacionet në shprehje komplekse. Operacionet në të njëjtin nivel kanë vjetërsi të barabartë. Llogaritjet kryhen nga e majta në të djathtë për të gjitha operacionet binare, duke filluar me operacionet e renditura në krye të listës dhe duke përfunduar me operacionet në fund.

Vjetërsia e operatorëve, nga më e ulta te më e larta, do të jetë si më poshtë:

Detyra \u003d + \u003d - \u003d * \u003d / \u003d% \u003d<<=>>=>>>=&=^=|=

Përzgjedhja e kushtëzuar? :

Logjike OSE ||

DHE Boolean &&&

Bitwise OSE |

Ekskluzive bit bit ^

Bitwise DHE &

Pabarazia! \u003d

Barazia / Pabarazia \u003d\u003d! \u003d

Krahasimi<<=>> =

Zhvendosja e bitit<< >> >>>

Mbledhja / Zbritja + -

Shumëzo / ndaje * /%

Mohimi / plotësimi / unari minus / rritja / zvogëlimi! - ++ -

Thirrja, kalimi i parametrave ().

Vjetërsia e operatorit

Përparësia e operacionit është rendi në të cilin kryhen operacionet në shprehje komplekse. Operacionet në të njëjtin nivel kanë vjetërsi të barabartë. Llogaritjet kryhen nga e majta në të djathtë për të gjitha operacionet binare, duke filluar me operacionet e renditura në krye të listës dhe duke përfunduar me operacionet në fund.

Vjetërsia e operatorëve, nga më e ulta te më e larta, do të jetë si më poshtë:

Detyra \u003d + \u003d - \u003d * \u003d / \u003d% \u003d<<=>>=>>>=&=^=|=

Përzgjedhja e kushtëzuar? :

Logjike OSE ||

Boolean AND &&

Bitwise OSE |

Ekskluzive bit bit ^

Bitwise DHE &

Pabarazia! \u003d

Barazia / Pabarazia \u003d\u003d! \u003d

Krahasimi<<=>> =

Zhvendosja e bitit<<>>>>>

Mbledhja / Zbritja + -

Shumëzo / ndaje * /%

Mohimi / plotësimi / unari minus / rritja / zvogëlimi! - ++ -

Thirrja, kalimi i parametrave ().

Fjalë kyçe të rezervuara në JavaScript.

JavaScript ka një numër fjalësh kyçe të rezervuara. Këto fjalë janë tre llojesh: fjalë të rezervuara JavaScript, fjalë të rezervuara për të ardhmen dhe fjalë që duhen shmangur. Fjalë kyçe JavaScript

thyej false në këtë boshllëk

vazhdoni për ndërsa e re e vërtetë

fshini funksionin tip nul tipi me

tjetër nëse kthimi var

Fjalë kyçe JavaScript për përdorim në të ardhmen

eksport debugger rast super

kap çelësin e zgjatur të parazgjedhur

klasa në fund hedh

provoni importin e konst

Fjalët për të shmangur përdorimin janë ato që tashmë kanë emrat e objekteve ose funksioneve të brendshme JavaScript. Kjo përfshin fjalë si String ose parseInt.

Përdorimi i ndonjë fjalen nga dy kategoritë e para do të rezultojë në një gabim në kohën e përpilimit kur programi juaj është i ngarkuar. Përdorimi i fjalëve të rezervuara nga lista e tretë mund të çojë në probleme të sjelljes së gabuar nëse përpiqeni të përdorni variablat dhe primitivat tuaj origjinal me të njëjtin emër në të njëjtin program. Për shembull, programi i mëposhtëm nuk do të bëjë atë që dëshironi:

var teksti \u003d vargu i ri ("Ky është një objekt vargu");

Në këtë rast, ju do të merrni një gabim duke deklaruar se String nuk është një objekt. Shumë raste përdorimi për një identifikues para-ekzistues nuk janë aq të qarta.

Shkrimet. Krijimi i skenareve.

JavaScript është një gjuhë skriptimi (skriptimi) e përdorur kryesisht për krijimin e elementeve interaktive në faqet e internetit. Mund të përdoret për të ndërtuar menu, për të vërtetuar forma, për të ndryshuar imazhe ose për të bërë ndonjë gjë tjetër që mund të bëni në një faqe në internet. Nëse shikoni GoogleMaps ose shërbimin GMail të Google, mund të shihni se për çfarë është i aftë JavaScript sot.

Meqenëse JavaScript aktualisht është gjuha e vetme e skriptimit e mbështetur nga të gjithë shfletuesit kryesorë të Internetit (InternetExplorer, Firefox, Netscape, Safari, Opera, Camino, etj.), Ajo përdoret gjerësisht.

Kodi JavaScript ekzekutohet zakonisht nga shfletuesi i Internetit i klientit, në këtë rast quhet skenar i anës së klientit. Sidoqoftë, JavaScript mund të ekzekutohet gjithashtu në një server Web për të gjeneruar dokumente HTML, duke bërë kështu skriptimin nga ana e serverit. Ndërsa JavaScript është zakonisht i kufizuar në skriptimin nga ana e klientit, ai është gjithashtu një gjuhë shumë e fuqishme nga ana e serverit.

Kur shkruani kodin JavaScript, në të vërtetë ju duhet vetëm një redaktues teksti dhe një shfletues uebi. Njohja e HTML dhe CSS do të luajë patjetër një rol pozitiv, dhe nëse doni të përdorni aftësitë JavaScript në një faqe në internet, do t'ju duhet gjithashtu një faqe në internet. Nëse tashmë keni një faqe në internet, shkëlqyeshëm! Nëse jo, ka shumë servera falas që mund të përdorni për të pritur faqet tuaja.

Sa i përket redaktuesit të tekstit, Windows ka një redaktues NotePad. Ndërsa kjo do të jetë e mjaftueshme për redaktimin e JavaScript, HTML dhe CSS, një redaktor më i fuqishëm siç është EditPlus ose një tjetër mund të jetë më i përshtatshëm.

Epo, tani mund të kaloni në krijimin e JavaScript!

Së pari, duhet të mësoni se si të shtoni JavaScript në faqen tuaj HTML. Ju mund ta bëni këtë në një nga dy mënyrat: vendosni etiketa Script në një faqe në internet dhe vendosni JavaScript brenda atyre etiketave, ose vendosni të gjithë kodin JavaScript në një skedar të veçantë dhe lidheni me të duke përdorur një etiketë Script.

Secila prej këtyre metodave është krejtësisht e vlefshme, por ato kanë qëllime të ndryshme. Nëse keni një kod të vogël që do të përdoret vetëm në një faqe, atëherë vendosja e tij midis etiketave të Script është një zgjidhje e mirë. Nëse, megjithatë, keni një pjesë të madhe të kodit që do të përdoret nëpër faqe të shumta, atëherë ndoshta është më mirë të vendosni atë kod JavaScript në një skedar të veçantë dhe të lidheni me të. Kjo është bërë në mënyrë që të mos keni nevojë ta ngarkoni këtë kod sa herë që vizitoni faqe të ndryshme. Kodi ngarkohet një herë dhe shfletuesi e ruan atë për përdorim të mëvonshëm. Kjo është e ngjashme me mënyrën se si përdoren fletët e stilit kaskadë (CSS).

Më poshtë janë shembuj të dy mënyrave për të lidhur kodin JavaScript:

Funksionet e skriptimit.

Ju mund t'i stilizoni fragmentet e kodit tuaj burimor si një funksion duke thirrur këtë funksion sipas nevojës nga vende të ndryshme në skenarin tuaj JavaScript.

Në mënyrë tipike, funksionet përcaktohen në pjesën kryesore të një dokumenti HTML, të shënuar me etiketa dhe... Siç thamë, funksioni duhet të përcaktohet para se të thirret. Vendosja e të gjitha përkufizimeve të funksioneve në pjesën kryesore të një dokumenti HTML siguron që ato funksione të jenë të disponueshme kur dokumenti përpunohet.

Pamja e përgjithshme e përcaktimit të funksionit paraqitet më poshtë:

emri i funksionit ([parametri 1] [, parametri 2] [..., parametri N])

funksionojnë linjat trupore

Të gjithë parametrat i kalojnë funksionit sipas vlerës. Prandaj, funksioni nuk mund të ndryshojë përmbajtjen e variablave që i kalohen si parametra.

Me fjalën kyçe kthyese, një funksion mund të kthejë një vlerë.

Shprehje JavaScript janë kombinime operandet dhe operatorët.

Operacionet në shprehje ekzekutohen në mënyrë sekuenciale në përputhje me vlerën e përparësisë (sa më e lartë të jetë vlera e përparësisë, aq më e lartë është). Rezultati i kthyer nuk është gjithmonë i të njëjtit lloj me llojin e të dhënave që përpunohet. Për shembull, operandë të llojeve të ndryshëm janë të përfshirë në operacionet e krahasimit, por rezultati i kthyer do të jetë gjithmonë i tipit Boolean.

Figura: 1. Struktura e një shprehjeje në JavaScript

Operandat A përpunohen të dhënat nga JavaScript. Operandet mund të jenë të dy lloje të thjeshta të të dhënave dhe ato komplekse, si dhe shprehje të tjera.

Operatorët Janë simbole të gjuhës që kryejnë operacione të ndryshme me të dhëna. Operatorët mund të shkruhen duke përdorur simbole pikësimi ose fjalë kyçe.

Llojet e mëposhtme të operatorëve dallohen në varësi të numrit të operandëve:
unare - një operand është i përfshirë në operacion;
binare - dy operandë janë të përfshirë në operacion;
treshe - kombinon tre operandë.

Forma më e thjeshtë e shprehjes është fjalë për fjalë - diçka që llogarit në vetvete, për shembull, numrin 100, vargun "Bota Hellow". Një ndryshore mund të jetë gjithashtu një shprehje, pasi vlerëson vlerën e caktuar.

Shprehjet dhe Operatorët në JavaScript

1. Operatorët aritmetikë

Operatorët aritmetikë janë krijuar për të kryer operacione matematikore, ato veprojnë në operandë numerikë (ose ndryshore që ruajnë vlera numerike), duke kthyer një vlerë numerike si rezultat.

Nëse një nga operandët është një varg, interpretuesi JavaScript do të përpiqet ta shndërrojë atë në një lloj numerik, dhe më pas të kryejë operacionin përkatës. Nëse shndërrimi i llojit nuk është i mundur, rezultati do të jetë NaN (jo një numër).

Tabela 1. Operatorët aritmetikë
Operatori / Operacioni Përshkrim Prioriteti
+ Shtesë Shton operandë numerikë. Nëse një nga operandët është një varg, atëherë shprehja vlerëson në një varg. 12
- Zbritja Zbrit operandin e dytë nga i pari. 12
- Unary minus Shndërron një numër pozitiv në negativ dhe anasjelltas. 14
* Shumëzimi Shumëzon dy operandë. 13
/ Ndarja Ndan operandin e parë me të dytin. Rezultati i pjesëtimit mund të jetë ose një numër i plotë ose një numër i pikës lundruese. 13
% Ndarja e modulit (pjesa tjetër e pjesëtimit) Llogarit pjesën e mbetur pas ndarjes integer të operandit të parë me të dytin. Zbatohet si për numrat e plotë ashtu edhe për pikat lundruese. 13
var x \u003d 5, y \u003d 8, z; z \u003d x + y; // do të kthejë 13 z \u003d x - y; // do të kthehet -3 z \u003d - y; // do të kthehet -8 z \u003d x * y; // do të kthejë 40 z \u003d x / y; // do të kthejë 0.625 z \u003d y% x; // do të kthehet 3

2. Operatorët e caktimit

Operatorët e caktimit përdoren për caktimin e vlerave në ndryshore. Operatorët e kombinuar ju lejojnë të ruani vlerat origjinale dhe pasuese në të njëjtën ndryshore.

var a \u003d 5; // caktoni vlerën numerike 5 ndryshores a var b \u003d "dreq"; // ruaj vargun e vargut në ndryshoren b var m \u003d n \u003d z \u003d 10; // caktoni ndryshoret m, n, z një vlerë numerike 10 x + \u003d 10; // ekuivalente me x \u003d x + 10; x - \u003d 10; // ekuivalente me x \u003d x - 10; x * \u003d 10; // ekuivalente me x \u003d x * 10; x / \u003d 10; // ekuivalente me x \u003d x / 10; x% \u003d 10; // ekuivalente me x \u003d x% 10;

3. Operatorët e rritjes dhe zbritjes

Operacionet rritje dhe zbritje janë unare dhe rrisin dhe ulin vlerën e operandit me një. Operandi mund të jetë një variabël, një element array, një veti e objektit. Më shpesh, operacione të tilla përdoren për të shtuar një numërues në një lak.

var x \u003d y \u003d m \u003d n \u003d 5, z, s, k, l; z \u003d ++ x * 2; / * si rezultat i llogaritjeve do të kthejë vlerën z \u003d 12, x \u003d 6, d.m.th. vlera e x fillimisht rritet me 1, dhe pastaj kryhet veprimi i shumëzimit * / s \u003d y ++ * 2; / * si rezultat i llogaritjeve do të kthejë vlerën s \u003d 10, y \u003d 6, d.m.th. së pari, kryhet operacioni i shumëzimit, dhe pastaj vlera e rritur me 1 ruhet në ndryshoren y * / k \u003d --m * 2; // do të kthejë vlerën k \u003d 8, m \u003d 4 l \u003d n-- * 2; // do të kthejë vlerën l \u003d 10, n \u003d 4

4. Operatorët krahasues

Operatorët e Krahasimit përdoren për të përputhur operandët, shprehja mund të rezultojë në një nga dy vlerat - e vërtetë ose e gabuar. Operandat mund të jenë jo vetëm numra, por edhe vargje, boolean dhe objekte. Sidoqoftë, krahasimi mund të kryhet vetëm për numrat dhe vargjet, kështu që operandët që nuk janë numra ose vargje shndërrohen.

Nëse të dy operandët nuk mund të shndërrohen me sukses në numra ose vargje, operatorët gjithmonë kthehen false.

Nëse të dy operandët janë vargje / numra, ose mund të shndërrohen në vargje / numra, ato do të krahasohen si vargje / numra.

Nëse një operand është një varg / shndërrohet në një varg dhe tjetri është një numër / shndërrohet në një numër, atëherë operatori do të përpiqet ta shndërrojë vargun në një numër dhe të kryejë një krahasim të numrit. Nëse vargu nuk është numër, ai shndërrohet në NaN dhe krahasimi është i rremë.

Operacionet krahasuese përdoren më shpesh gjatë organizimit të degëve në programe.

Tabela 4. Operatorët krahasues
Operatori / Operacioni Përshkrim Prioriteti
\u003d\u003d Barazia Testet për një ndeshje midis dy vlerave, duke lejuar konvertimin e tipit. Kthen true nëse operandët janë të njëjtë dhe false nëse janë të ndryshëm. 9
! \u003d Pabarazi Kthen true nëse operandët nuk janë të barabartë 9
\u003d\u003d\u003d Identiteti Teston dy operandë për "identitetin" duke përdorur një përkufizim të përpiktë të përputhjes. Kthen true nëse operandët janë të barabartë pa konvertimin e tipit. 9
! \u003d\u003d Jo-identiteti Kryen verifikimin e identitetit. Kthen true nëse operandët nuk janë të barabartë pa konvertimin e tipit. 9
\u003e Më shumë Kthen true nëse operandi i parë është më i madh se i dyti, përndryshe kthen false. 10
\u003e \u003d Më i madh se ose i barabartë Kthen true nëse operandi i parë është të paktën i dyti, përndryshe kthehet false. 10
Kthen true nëse operandi i parë është më i vogël se i dyti, përndryshe kthehet false. 10
Kthen true nëse operandi i parë nuk është më i madh se i dyti, përndryshe kthen false. 10
5 \u003d\u003d "5"; // do të kthehet e vërtetë 5! \u003d -5.0; // do të kthehet e vërtetë 5 \u003d\u003d\u003d "5"; // kthen false false \u003d\u003d\u003d false; // do të kthehet e vërtetë 1! \u003d\u003d e vërtetë; // do të kthehet e vërtetë 1! \u003d e vërtetë; // do të kthehet false si konvertohet e vërteta në 1 3\u003e -3; // do të kthehet e vërtetë 3\u003e \u003d "4"; // do të kthehet false

5. Operatorët logjikë

Operatorët logjikë ju lejon të kombinoni kushtet që kthejnë booleans. Më shpesh përdoret në një deklaratë if.

(2 < 3) && (3===3); // вернет true, так как выражения в обеих скобках дают true (x < 10 && x > 0); // do të kthehet e vërtetë nëse x është ndërmjet 0 dhe 10! false; // do të kthehet e vërtetë

6. Operatorët bitwise

Operatorët bitwise trajtojnë operandët si një sekuencë 32-bitëshe të zerove dhe njësive dhe kthejnë një vlerë numerike që përfaqëson rezultatin e operacionit, të shkruar në shënimin dhjetor. Integerët konsiderohen si operandë, pjesa fraksionale e operandit hidhet poshtë. Operacionet bitwise mund të përdoren, për shembull, kur kripton të dhënat, për të punuar me flamuj dhe për të diferencuar të drejtat e hyrjes.

Tabela 6. Operatorët bitwise
Operatori / Operacioni Përshkrim Prioriteti
& Bitwise DHE Nëse të dy bitët janë 1, atëherë biti që rezulton do të jetë 1. Përndryshe, rezultati është 0. 8
| Bitwise OSE Nëse një nga operandët përmban 1 në pozicion, rezultati do të përmbajë gjithashtu 1 në atë pozicion, përndryshe rezultati në këtë pozicion do të jetë 0. 6
^ OSE ekskluzive Nëse një dhe vetëm një vlerë përmban 1 në çdo pozicion, atëherë rezultati do të përmbajë edhe 1 në këtë pozicion, përndryshe rezultati në këtë pozicion do të jetë 0. 7
~ Mohimi Negshtë bërë një mohim bitwise në paraqitjen binare të vlerës së shprehjes. Çdo pozicion që përmban 1 në shprehjen origjinale zëvendësohet me 0. Çdo pozicion që përmban 0 në shprehjen origjinale bëhet 0. Numrat pozitivë fillojnë me 0, numrat negativë fillojnë me -1, kështu që ~ n \u003d\u003d - (n + 1). 14
Operatori zhvendos bitët e operandit të parë në të majtë nga numri i pozicioneve bit të vendosur nga operandi i dytë. Zerot përdoren për të mbushur pozicionet në të djathtë. Kthen një rezultat të të njëjtit lloj si operandi i majtë. 11
\u003e\u003e Zhvendosni pak në të djathtë Operatori zhvendos bitët e operandit të parë në të djathtë nga numri i pozicioneve bit të vendosura nga operandi i dytë. Shifrat e zhvendosura jashtë diapazonit fshihen. Biti më domethënës (i 32-ti) nuk ndryshohet për të ruajtur shenjën e rezultatit. Nëse operandi i parë është pozitiv, pjesët më domethënëse të rezultatit mbushen me zero; nëse operandi i parë është negativ, copëzat më domethënëse të rezultatit mbushen me njësi. Zhvendosja e një vlere në të djathtë me një pozicion është e barabartë me pjesëtimin me 2 (hedhja e pjesës së mbetur), dhe zhvendosja në të dy pozicionet e djathtë është e barabartë me ndarjen me 4, etj. 11
\u003e\u003e\u003e Ndryshimi i djathtë i injoruar nga shenja Bitwise Operatori zhvendos bitët e operandit të parë në të djathtë nga numri i pozicioneve bit të vendosura nga operandi i dytë. Zero janë bashkangjitur në të majtë, pavarësisht nga shenja e operandit të parë. Shifrat e zhvendosura jashtë diapazonit fshihen. 11
var x \u003d 9, y \u003d 5, z \u003d 2, s \u003d -5, rezultat; // 9 është ekuivalente me 1001, 5 është ekuivalente me 0101 rezultat \u003d x & y; // do të kthejë 1 (ekuivalent me 0001) rezultat \u003d x | y; // do të kthejë 13 (ekuivalente me 1101) rezultat \u003d x ^ y; // do të kthejë 12 (ekuivalente me 1100) rezultat \u003d ~ y; // do të kthejë -6 (ekuivalent me 1100) rezultat \u003d x<< y; // вернет 288 (эквивалентно 100100000) result = x >\u003e z; // do të kthejë 2 (ekuivalente me 10) rezultat \u003d s \u003e\u003e\u003e z; // do të kthehet 1073741822 (ekuivalente me)

7. Operatorët e vargjeve

Ka disa operatorë që punojnë me vargjet në një mënyrë të veçantë.

"1" + "10"; // do të kthejë "110" "1" + 10; // do të kthejë "110" 2 + 5 + "lapsa me ngjyra"; // do të kthejë "7 lapsa me ngjyra" "lapsa me ngjyra" + 2 + 5; // do të kthejë "Lapsa me ngjyra 25" "1"\u003e "10"; // do të kthejë "10" false<= 10; // вернет true "СССР" == "ссср"; // вернет false x = "micro"; x+= "soft"; // вернет "microsoft"

8. Operatorët specialë

Tabela 8. Operatorët special
Operatori / Operacioni Përshkrim Prioriteti
... Hyrja në një pronë Hyni në një pronë të një objekti. 15
, Llogaritja e shumëfishtë Vlerëson shprehje të shumëfishta të pavarura në një rresht të vetëm. 1
Indeksimi i vargut Hyni në elementet e një grupi ose vetitë e një objekti. 15
() Thirrja e funksionit, grupimi Grupon operacionet ose thirrjet e një funksioni. 15
typeof Përkufizimi i llojit të të dhënave Operatori Unary, kthen llojin e të dhënave të operandit. 14
shembull i kontrollit të llojit të objektit Operatori kontrollon nëse një objekt është një shembull i një klase specifike. Operandi i majtë duhet të jetë objekt, operandi i djathtë duhet të përmbajë emrin e klasës së objektit. Rezultati do të jetë i vërtetë nëse objekti i specifikuar në të majtë është një shembull i klasës i specifikuar në të djathtë; përndryshe, i rremë. 10
në Kontrollimi nëse ekziston një pronë Operandi i majtë duhet të jetë një varg, dhe e djathta duhet të jetë një grup ose objekt. Nëse vlera e majtë është një veti e një objekti, rezultati do të jetë i vërtetë. 10
krijimi i ri i Objekteve Operatori krijon një objekt të ri me veti të papërcaktuara, pastaj thërret funksionin e konstruktorit për ta iniciuar atë (kaloni parametrat). Mund të përdoret gjithashtu për të krijuar një koleksion. 1
fshi Fshi Operatori ju lejon të hiqni një pronë nga një objekt ose një element nga një koleksion. Kthen true nëse fshirja ishte e suksesshme, përndryshe false. Heqja e një elementi array nuk e ndryshon gjatësinë e tij. 14
void Përcaktimi i një shprehjeje pa vlerë kthyese Operatori unar, hedh vlerën e operandit dhe kthehet i nënfinuar. 14
?: Operacioni i shprehjes së kushtëzuar Operatori Ternary, ju lejon të organizoni degëzime të thjeshta. Ekzistojnë tre operandë të përfshirë në shprehje, e para duhet të jetë një vlerë Boolean ose të shndërrohet në të, dhe e dyta dhe e treta duhet të jenë çdo vlerë. Nëse operandi i parë është i vërtetë, atëherë shprehja e kushtëzuar do të marrë vlerën e operandit të dytë; nëse është false - atëherë e treta. 3
dokument.shkruaj ("përshëndetje botë"); // shfaq vargun hello world i \u003d 0, j \u003d 1; // ruan vlerat në funksionin e variablave1 (10, 5); // thirrni funksionin e funksionit1 me parametrat 10 dhe 5 var vit \u003d; // krijon një grup me elemente të tipit (a: 1); // do të kthejë "objekt" var d \u003d new Date (); // krijoni një objekt të ri duke përdorur konstruktorin Date () d shembullin e datës; // do të kthehet true var mycar \u003d (bëj: "Honda", modeli: "Accord", viti: 2005); "bëj" në mycar; // do të kthejë true var obj \u003d Objekti i ri (); // krijon një objekt bosh var ushqim \u003d ["qumësht", "bukë", "mish", "vaj ulliri", "djathë"]; fshini ushqimin; // heq elementin e katërt nga ushqimi x\u003e 10? x * 2: x / 2; // kthen vlerën x * 2 nëse x\u003e 10, përndryshe x / 2

9. Komentet JavaScript

Komenti me një rresht: paraprini tekstin e komentit me // karaktere.

Një operator është një simbol (a) ose një fjalë kyçe që bën një lloj llogaritje që përfshin një ose më shumë vlera. Vlerat majtas dhe djathtas të operatorit quhen operandë. Një operator me një operand quhet unary, me dy - binar, me tre - tresh.

Operatorët mund të konvertojnë automatikisht llojet e operandëve të tyre sipas nevojës. Për shembull, operatori i shumëzimit * pret numra, kështu që shprehja "2" * "3" konsiderohet krejtësisht e vlefshme sepse interpretuesi në mënyrë të nënkuptuar do t'i shndërrojë vargjet në numra.

Prioriteti i operatorit

Prioriteti i operatorit është një pronë e një operatori që ndikon në rendin e ekzekutimit të tij në një shprehje me disa operatorë të ndryshëm në mungesë të një treguesi të qartë të radhës së vlerësimit të tyre. Deklaratat me përparësi më të lartë drejtohen para deklaratave me përparësi më të ulët.

Në kolonën Operator, tre pikat tregojnë vendndodhjen e operandëve në krahasim me operatorin.

Kolona A tregon shoqërimin e operatorit. Shoqërimi është rendi në të cilin përpunohen operatorët me të njëjtën përparësi. Për shembull, operatori i zbritjes ka shoqërim nga e majta në të djathtë, kështu që dy shprehjet e mëposhtme janë ekuivalente:

X - y - z (x - y) - z

Operatori i caktimit është shoqërues djathtas-majtas, kështu që dy shprehjet e mëposhtme janë ekuivalente:

W \u003d x \u003d y \u003d z w \u003d (x \u003d (y \u003d z))

Kolona O tregon numrin e operandeve.

Në kolonën Llojet e vlerës, tipet e pritur të operandit tregohen përpara shigjetës, dhe lloji i kthimit pas shigjetës.

lval (shkurtimi i vlerës së majtë) është një shprehje e njëanshme në të majtë. Shtë një term historik për një shprehje që mund të shfaqet në të majtë të një operatori caktimi. Shprehjet në anën e majtë janë: ndryshoret, vetitë e objektit dhe elementet e vargut.

Tabela më poshtë rendit operatorët në rendin e përparësisë në rënie, me linja horizontale që ndajnë grupet e operatorëve me nivele të ndryshme përparësie.

Operatori Lloji i operatorit DHE RRETH Llojet e vlerës
(…) Grupimi mungon
1 ndonjë → ndonjë
… . …
… […]
i ri ... ()
Operatori i hyrjes
Operatori i hyrjes
i ri (me një listë të argumenteve)
nga e majta në të djathtë
nga e majta në të djathtë
mungon
2
2
1
lval, lval -\u003e ndonjë
lval, vargu ose numri -\u003e çdo
konstruktor -\u003e objekt
… ()
i ri ...
Thirrja e funksionit
e re (pa argumente)
nga e majta në të djathtë
nga e djathta në të majtë
1
1
funksioni -\u003e çdo
konstruktor -\u003e objekt
… ++
… --
Shtesa e postfix-it
Zvogëlimi i postfix-it
mungon
mungon
1
1
lval -\u003e numër
lval -\u003e numër
! …
~ …
+ …
- …
++ …
-- …
fshi ...
lloji i ...
e pavlefshme ...
NUK logjik (përmbysje)
Bitwise JO (përmbysja)
Unary plus
Unary minus
Shtesa e parashtesave
Zvogëlimi i parashtesave
Po fshihet
Përcakton llojin e të dhënave
Kthimi i një vlere të papërcaktuar
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
1
1
1
1
1
1
1
1
1
ndonjë -\u003e boolean
tërësi tërësi
numri -\u003e numri
numri -\u003e numri
lval -\u003e numër
lval -\u003e numër
lval -\u003e boolean
ndonjë -\u003e varg
ndonjë -\u003e i papërcaktuar
… ** …
… * …
… / …
… % …
Eksponimi
Shumëzimi
Ndarja
Ndarja me pjesën e mbetur
nga e djathta në të majtë
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
2
2
2
2
numri, numri -\u003e numri
numri, numri -\u003e numri
numri, numri -\u003e numri
numri, numri -\u003e numri
… + …
… - …
… + …
Shtesa
Zbritja
Bashkimi
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
2
2
2
numri, numri -\u003e numri
numri, numri -\u003e numri
varg, varg -\u003e varg
… << …
… >> …
… >>> …
Rrahjet e Shiftit Majtas
Zhvendosni copat djathtas me ruajtjen e shenjës
Zhvendosni bitët djathtas me mbushje zero
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
2
2
2
tërësi, tërësi → tërësi
tërësi, tërësi → tërësi
tërësi, tërësi → tërësi
… < …
… <= …
… > …
… >= …
... në ...
... shembull i ...
Më pak se
Më pak ose të barabartë
Me shume se
Më shumë ose të barabartë
Kontrollimi i ekzistencës së një prone
Po kontrollon për përkatësinë e këtij lloji
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
2
2
2
2
2
2
numri, numri -\u003e boolean
numri, numri -\u003e boolean
numri, numri -\u003e boolean
numri, numri -\u003e boolean
varg, objekt -\u003e boolean
objekt, konstruktor -\u003e boolean
… == …
… != …
… === …
… !== …
Në mënyrë të barabartë
Jo të barabartë
Rreptësisht e barabartë
Rreptësisht jo e barabartë
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
nga e majta në të djathtë
2
2
2
2
ndonjë, çdo -\u003e boolean
ndonjë, çdo -\u003e boolean
ndonjë, çdo -\u003e boolean
ndonjë, çdo -\u003e boolean
… & … Bitwise DHE nga e majta në të djathtë 2 tërësi, tërësi → tërësi
… ^ … EKSPLUZIVE Bitwise OSE nga e majta në të djathtë 2 tërësi, tërësi → tërësi
… | … Operacioni i caktimit
Operacioni i caktimit
Operacioni i caktimit
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
nga e djathta në të majtë
2
2
2
2
2
2
2
2
2
2
2
2
2
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
lval, ndonjë -\u003e ndonjë
japin ...
japin * ...
rendimentin
rendimenti *
nga e djathta në të majtë
nga e djathta në të majtë
1
1
... … Zgjerimi mungon 1
… , … Presje nga e majta në të djathtë 2 ndonjë, ndonjë ... ndonjë