JavaScript Jargon 10 Podmínky, které byste měli vědět
Z kari na uzávěry existuje poměrně mnoho JavaScript jargons (speciální slova používané v této oblasti) s vědomím, že nejen pomůže zvýšit slovní zásobu, ale pochopit JavaScript lépe. Jargony se obvykle nacházejí v dokumentaci a technických článcích. Ale některé z nich uzávěry jsou docela standardní věci vědět. Vědět, co znamená slovo samo o sobě, vám může pomoci lépe poznat koncept, který je pojmenován.
Tento příspěvek je kompilací 10 takových termínů jejich význam a kontextu, ve kterém jsou používány v JavaScriptu. Pokud jste začátečník, pak tento seznam vás pokryl základy jako zvedání. Zároveň jsou zde zahrnuty méně známé nebo méně srozumitelné termíny.
- Arity
- Anonymní
- Uzavření
- Kari
- Zvedání
- Mutace
- Pragma
- Stráž
- Vanilka
- Variadic
1. Arity
Arity (od latiny) je termín odkazoval se na počet argumentů nebo operands ve funkci nebo operaci příslušně. S největší pravděpodobností narazíte na toto slovo ve sféře JavaScriptu, když se používá ke zmínce o počet argumentů očekávaných funkcí JavaScriptu.
Tam je dokonce vlastnost pojmenovaná arity, toho Funkce
objekt, který vrací počet očekávaných argumentů ve funkci. Nyní je však zastaralý a nahrazen délka
.
Následující funkce má hodnotu 3.
funkce getName (první, střední, poslední) return first + "+ middle +" + last;
2. Anonymní
Anonymní je přídavné jméno. Pokud je něco nebo někdo označován jako anonymní, znamená to, že jméno osoby nebo osoby není identifikováno. Stejně jako v JavaScriptu je anonymní funkce ta, která není identifikována jménem.
(function () // body) ();
Nahoře je IIFE (Immediately Invoked Function Expression). Funkce v něm je anonymní, protože nemá jméno. Nyní se podívejte na níže uvedenou.
var foo = function () ;
To je také řekl, aby byl anonymní funkce, protože neexistuje žádné jméno po klíčové slovo funkce
.
Trochu pochybností se zvyšuje správnost použití slova “anonymní”. S IIFE se funkce zavolá hned, bez jména, zatímco k volání druhé funkce syntaxe foo ()
se používá.
Je to, jako bychom pokřtili bezejmennou funkci s názvem 'foo' a nazvali ji pomocí. Je to považováno za anonymní? Nevím, nechám to anglickým expertům. Ale můj zmatek stranou, oba jsou skutečně označováni jako anonymní funkce.
3. Uzavření
Zde je jedna z definic z oxfordského slovníku uzavření: “Věc, která něco uzavře nebo uzavře, jako je čepice nebo kravata.”
V JavaScriptu je uzavření vnitřní funkcí, která je přístupná mimo rozsah jeho vnější funkce, přičemž její spojení s proměnnými vnější funkce je stále nedotčeno.
Vysvětlit věci (možná ne přesně, ale prostě dost), zvažte uzavření jako číšník v restauraci. Mnoho věcí se odehrává v restauraci, kde není dovoleno vstoupit ani vidět. Ale jak bychom měli dostat naše jídlo?
Tam přicházejí číšníci. Říkáme jim, objednáme si jídlo a pak půjdou do kuchyně, informují kuchaře o zakázkách a přinesou nám je, když je objednávka připravena. Tímto způsobem jsme se neporušili “pravidla” a pořád se podaří chytit jídlo.
Číšník je někdo, kdo je schopen vzít naši objednávku do kuchyně a vrátit se s jídlem. JavaScript uzávěry jsou podobné tomu, že jsou schopni vezměte naše parametry a přinese nám proměnné (odkazy na tyto proměnné, abych byl přesný) z vnitřku funkce, do které nemáme přístup.
funkce order () var food; funkce číšník (objednávka) kuchař (objednávka); návrat potravin; funkce chef (order) if (order === 'pasta') food = ['pasta', 'omáčka', 'koření']; kuchařka(); function cook () food.push ('vařené'); návrat číšník; var myOrder = order (); console.log (myOrder ('pasta')); // "pasta", "omáčka", "koření", "vařené"]
Jak můžete vidět z výše uvedeného kódu, vše kromě číšník
a jeho návratová hodnota z vnitřní funkce není vystavena vnějšímu světu.
4. Currying
Efekt, pojmenovaný po Haskell Curry, odkazuje použití více funkcí s jednotlivými argumenty, místo jedné funkce s více argumenty. Podívejme se přidat
níže uvedené funkce.
funkce addx (x) funkce addy (y) return x + y; návrat addy funkce přidat (x, y) return (x + y); console.log (addx (3) (4)); 7 console.log (add (3,4)); 7
Obě funkce vrátí stejný výsledek. Funkce addx
přijme parametr X
při návratu addy
který zase přijímá y
hodnotu, provede sčítání X
a vrací součet.
Funkce přidat
prostě vezme obojí X
a y
současně provede přidání a vrátí součet. První funkce se možná nezdá být velmi užitečná, dokud…
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
První funkce se najednou stane zajímavou. V kariéře, můžete vždy opravit krok v posloupnosti operací, jako je přidání 4 z výše uvedeného kódu, což je užitečné, když jedna z proměnných používaných v operaci je vždy stejná.
5. Zvedání
Zvednout znamená něco zvednout. Zvedání v JavaScriptu také znamená to samé a to, co se získá, je deklarace (deklarace proměnných a funkcí).
Deklarace jsou kde proměnné a funkce jsou vytvořeny s klíčovými slovy var
(ne pro globální) a funkce
.
Nezáleží na tom, kam zadáte kód pro deklaraci funkce nebo proměnné, během hodnocení jsou všechna deklarace přesunuta nahoru do oblasti, kde se nacházejí (s výjimkou přísného režimu). Je tedy možné napsat pracovní kód s kódem pro volání funkce před deklarací funkcí.
var name = 'Velma'; console.log (sayCatchPhrase (název)); // "Jinkies!" funkce sayCatchPhrase (název) fráze = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'He-Man': 'Mám moc '; návratové fráze [jméno];
6. Mutace
Mutace znamená změnu nebo modifikaci. Pokud jste někdy narazili na slovo mutace v JavaScriptu, je to pravděpodobně s odkazem na změny, kterými prvky DOM procházely.
Tam je dokonce API volal MutationObserver držet oko ven pro DOM mutace jako přidání dětských prvků nebo změny atributů prvku. (Další informace o programu MutationObserver naleznete v mém příspěvku.)
7. Pragma
Pragma je krátký pro pragmatické informace. V prosté angličtině je pragmatické adjektivum, které znamená rozumné a praktické. V programování, pragma odkazuje na kód, který se skládá z užitečných informací o jak by měl program nebo překladač nebo assembler zpracovávat program.
Nepřispívá nic k samotnému programovacímu jazyku a jeho syntaxe se může lišit. Ovlivňují pouze chování kompilátoru. JavaScript má také málo pragmas, jedním z nich je přísný
.
"use strict";
Podle výše uvedené pragma bude kód JavaScript proveden v přísném režimu. V přísném režimu není povolena špatná syntaxe, zvedání není hotovo, jsou zobrazeny tiché chyby atd. Pomáhá v psát bezpečnější a optimalizovaný JavaScript kód.
8. Sentinel
Strážci jsou vojáci, kteří stojí na stráži (Pamatuj si ty z X-Men?). V programování, hlídky jsou hodnoty, které se používají k označení konce smyčky nebo procesu. Mohou být také volány “vlajky”.
Můžete použít libovolnou rozumnou hodnotu jako a stráž. Zde je příklad hlídky používané v JavaScriptu; indexOf
Metoda, která vrací hodnotu -1 (hodnota sentinel), když hodnota hledání není nalezena v cílovém řetězci. Níže je funkce, která vrací pozici hodnoty pole a není-li nalezena hodnota, vrátí hodnotu -1.
funkce getPos (ary, val) var i = 0, len = ary.length; Protože já9. Vanilka
Myslím, že první zmrzlinová příchuť musela být vanilka. Také si myslím, že nejen v zmrzlině, ale v téměř každém sladkém pokrmu vanilky se stal standardní chuť. Viděl jsem několik receptů na dorty, kde přidávají alespoň jednu kapku do mixu - jen pro zvýšení chuti.
A to je to vanilka je tradiční chuť. Vanilka JavaScript je označován jako standardní JavaScript - bez rámce. Vanilka se ve skutečnosti nepoužívá pouze k popisu standardní verze JavaScriptu, ale i dalších jazyků, jako je CSS.
10. Variadic
Variadic je adjektivum vytvořené spojením “proměnná” a “adicity”. “Adicita” je od starověkého Řeka, s významem, který je stejný jako latinské slovo “arity” (Položka 1 v tomto seznamu). Tak, termín variadic je zvyklý vyjádřit něco, co má proměnlivý počet argumentů.
V jazyce JavaScript, a variadic funkce přijímá libovolný počet argumentů. Lze jej vytvořit pomocí
argumenty
vlastnictví,aplikovat
a od ES6, provozovatel distribuce. Níže je uveden příklad použití operátoru rozprostření.funkční zkouška (… a) console.log (a); test ('a', 'b', 'c', 8, [56, -89]); // výstup je Array ["a", "b", "c", 8, Array [2]]