JavaScript izrazi 10, ki jih morate poznati
Od currying do zaprtja obstaja veliko žargonov JavaScripta (posebne besede, ki se uporabljajo na tem področju), ki vedo, kar vam ne bo samo pomagalo povečati besednega zaklada, temveč bolje razumeli JavaScript. Žargoni se običajno nahajajo v dokumentacijah in tehničnih člankih. Ampak nekateri od njih imajo radi zaprtja so zelo standardne stvari, ki jih je treba vedeti. Vedeti, kaj pomeni sama beseda, vam lahko pomaga spoznati koncept, ki je poimenovan za boljše.
Ta objava je kompilacija 10 takih izrazov z njihov pomen in kontekstu, v katerem se uporabljajo v JavaScriptu. Če ste začetnik, potem je ta seznam dobil zajete z osnovami, kot je dviganje. Hkrati so tam vključeni tudi manj znani ali manj razumljivi izrazi.
- Arity
- Anonimno
- Zaključek
- Currying
- Dvigovanje
- Mutacija
- Pragma
- Sentinel
- Vanilija
- Variadic
1. Arity
Arity (iz latinščine) je izraz, ki se uporablja za sklicevanje na število argumentov ali operandov v funkciji oziroma operaciji. Zelo verjetno boste naleteli na to besedo v kraljestvu JavaScripta, ko se uporablja za omembo število argumentov, ki jih pričakuje funkcija JavaScript.
Obstaja celo lastnost, imenovana arity Funkcija
predmet, ki vrne število pričakovanih argumentov v funkciji. Zdaj je zastarela in nadomeščena dolžino
.
Naslednja funkcija ima velikost 3.
funkcija getName (prva, srednja, zadnja) vrne prvo + "+ srednja +" + zadnja;
2. Anonimno
Anonimno je pridevnik. Ko se nekaj ali nekoga imenuje anonimno, to pomeni, da je ime osebe ali osebe neznano. Prav tako je v JavaScript anonimna funkcija tista, ki je ne identificira.
(function () // body) ();
Zgoraj je IIFE (Izraz takoj sprožene funkcije). Funkcija v njej je anonimna, ker nima imena. Zdaj pa poglejte spodaj.
var foo = function () ;
To je tudi anonimna funkcija, saj za ključno besedo ni imena funkcijo
.
Malo dvoma se dviga v pravilnosti uporabe besede “anonimno”. S funkcijo IIFE se funkcija takoj pokliče, brez imena, medtem ko zadnjo funkcijo kliče sintaksa foo ()
se uporablja.
Kot da bi krstili brezimensko funkcijo z imenom 'foo' in jo poimenovali z uporabo tega. Ali se to šteje kot anonimno? Ne vem, to bom prepustil angleškim strokovnjakom. Ampak, če se obrnem na mojo zmedo, sta oba oba označena kot anonimna funkcija.
3. Zaprtje
Tukaj je ena od definicij iz oxfordskega slovarja za zaključek: “Stvar, ki nekaj zapre ali zapečati, kot je kapa ali kravata.”
V JavaScriptu je zaprtje notranja funkcija, ki je dostopna izven področja njene zunanje funkcije, njena povezava s spremenljivkami zunanje funkcije pa je še vedno nedotaknjena..
Da bi razložili stvari (morda ne dovolj natančno, ampak preprosto), razmislite zaključek kot natakar v restavraciji. Veliko stvari se dogaja v kuhinji restavracije, kjer nam ni dovoljeno vstopiti ali videti. Toda kako naj potem dobimo hrano?
Tukaj pridejo natakarji. Pokličemo jih, naročimo hrano, potem pa gredo v kuhinjo, obvestijo kuharje o naročilih in nam jo pripeljejo, ko je naročilo pripravljeno. Na ta način nismo prelomili “pravila” in še vedno lahko zgrabi obrok.
Natakar je nekdo, ki je sposoben vzeti naše naročilo v kuhinjo in se vrniti s hrano. JavaScript zaprtja so podobne tistim, ki jih lahko vzemite naše parametre in vrnite nam spremenljivke (sklici na te spremenljivke, če smo natančni) znotraj funkcije, v katero nismo dovoljeni.
funkcija order () var food; funkcijo natakarja (naročila) chef (order); povratna hrana; funkcija kuhar (red) if (order === 'pasta') hrana = ['testenine', 'omaka', 'začimba']; cook (); funkcija cook () food.push ('kuhan'); natakar natakar; var myOrder = order (); console.log (myOrder ('pasta')); // Array ["testenine", "omaka", "začimba", "kuhan"] \ t
Kot lahko vidite iz zgornje kode, vse razen natakar
in njena vrnjena vrednost znotraj funkcije naročila ni izpostavljena zunanjemu svetu.
4. Currying
Učinek, imenovan po Haskell Curryju, se nanaša na uporabo več funkcij z enim argumentom, namesto ene funkcije z več argumenti. Poglejmo add
spodaj navedene funkcije.
funkcija addx (x) funkcija addy (y) return x + y; return addy funkcija add (x, y) return (x + y); console.log (addx (3) (4)); 7 console.log (add (3,4)); 7
Obe funkciji vrneta isti rezultat. Funkcija addx
sprejema parameter x
med vračanjem addy
ki nato sprejema y
vrednost, opravi dodatek z x
in vrne vsoto.
Funkcija add
preprosto vzame oboje x
in y
hkrati izvede seštevanje in vrne vsoto. Do zdaj se prva funkcija morda ne zdi zelo uporabna, dokler…
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); - 70
Sedaj je prva funkcija nenadoma postala zanimiva. Pri curryingu lahko vedno popravite korak v zaporedju operacij, kot je dodatek 4 iz zgornje kode, kar je koristno, kadar je ena od spremenljivk, uporabljenih v operaciji, vedno enaka.
5. Dvigovanje
Dvigalo pomeni dvigniti nekaj. Dvigovanje v JavaScriptu pomeni tudi isto in kar se dvigne, je deklaracija (deklaracije spremenljivk in funkcij).
Izjave so tam, kjer so spremenljivke in funkcije ustvarjene s ključnimi besedami var
(ne za globalno) in funkcijo
.
Ni pomembno, kje vnesete kodo za razglasitev funkcije ali spremenljivke, med ocenjevanjem se vse deklaracije premaknejo navzgor znotraj področja, kjer se nahajajo (razen v strogem načinu). Zato je mogoče pred napovedjo funkcije zapisati delovno kodo s kodo za klic funkcije.
var ime = 'Velma'; console.log (sayCatchPhrase (ime)); // "Jinkies!" funkcija sayCatchPhrase (ime) fraze = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'He-Man': 'Imam moč '; povratni stavki [ime];
6. Mutacija
Mutacija pomeni spremembo ali spremembo. Če ste kdaj naleteli na besedo mutacija v JavaScriptu, se to verjetno nanaša na spremembe, ki so jih izvedli elementi DOM-a.
Obstaja celo API, imenovan MutationObserver, ki pazi na DOM mutacije dodajanje otroških elementov ali spremembe atributov elementa. (Več o MutationObserverju lahko preberete v moji objavi.)
7. Pragma
Pragma je kratica za pragmatične informacije. V preprostem angleškem jeziku je pragmatičen pridevnik, ki pomeni razumno in praktično. V programiranju, pragma se nanaša na kodo, ki vsebuje koristne informacije o kako naj prevajalnik ali interpret ali asembler obdeluje program.
Ne prispeva ničesar k samemu programskemu jeziku in njegova sintaksa se lahko razlikuje. Vplivajo samo na vedenje prevajalnika. JavaScript ima tudi nekaj pragm, eden od njih je stroga
.
"use strict";
Z zgornjo pragmo se bo koda JavaScript izvajala v strogem načinu. V strogem načinu ni dovoljena slaba skladnja, dviganje ni storjeno, so prikazane tihe napake, itd pisanje varnejše in optimizirane kode JavaScript.
8. Sentinel
Sentineli so vojaki, ki so stražarji (spomnite se tistih iz X-Men?). V programiranju, opozorila so vrednosti, ki se uporabljajo za označevanje konca zanke ali procesa. Lahko jih tudi kličete “zastave”.
Uporabite lahko vsako razumno vrednost kot stražar. Tukaj je primer opozorila uporablja v JavaScriptu; indeks
metoda, ki vrne -1 (kontrolna vrednost), ko iskana vrednost ni v ciljnem nizu. Spodaj je funkcija, ki vrne položaj vrednosti matrike in če vrednost ni najdena, vrne -1.
funkcija getPos (ar, val) var i = 0, len = ary.length; za (; i9. Vanilija
Mislim, da je bil vsak prvi sladoledni okus vanilija. Mislim tudi, da ne le v sladoledu, temveč v skoraj vsakem sladkem jedru vanile standardni okus. Videl sem kar nekaj receptov za torto, kjer v mešanico dodajo vsaj eno kapljico - le za povečanje okusa.
In to je tisto vanilija je tradicionalni standardni okus. Vanilija JavaScript se sklicuje na standardni JavaScript - brez okvira. Vanilla se ne uporablja samo za opis standardne različice JavaScripta, ampak tudi za druge jezike, kot je CSS.
10. Variadic
Variadic je pridevnik, ustvarjen s pridružitvijo “spremenljivko” in “adicity”. “Adicity” je iz starogrške, s pomenom, ki je enak latinski besedi “arity” (Točka 1 na tem seznamu). Tako izraz variadic se uporablja izrazite nekaj, kar ima različno število argumentov.
V JavaScript, a variadic Funkcija prevzame poljubno število argumentov. Lahko ga ustvarite z uporabo
argumentov
nepremičnine,veljajo
metodo in od ES6, operater porazdelitve. Spodaj je primer z uporabo operaterja porazdelitve.preizkus delovanja (… a) console.log (a); test ('a', 'b', 'c', 8, [56, -89]); // izhod je Array ["a", "b", "c", 8, Array [2]]