JavaScript термини 10, които трябва да знаете
от на кожи да се затваряне има доста жаргони на JavaScript (специални думи, използвани в полето), които знаят, че не само ще ви помогнат да увеличите речника си, но и ще разберете по-добре JavaScript. Обикновено жаргоните се намират в документи и технически статии. Но някои от тях харесват затваряне са доста стандартни неща, за които да знаете. Знаейки какво означава самата дума, може да ви помогне да разберете концепцията, която е кръстена за по-добро.
Този пост е компилация от 10 такива термина с тяхното значение и контекста, в който се използват в JavaScript. Ако сте начинаещ, тогава този списък ви покрива с основите като товароподемни. В същото време там са включени и по-малко известни или по-малко разбираеми термини.
- Arity
- анонимен
- Закриване
- козина
- Подемно
- мутация
- Pragma
- страж
- ванилия
- Variadic
1. Arity
Arity (от латински) е термин, използван за обозначаване на броя аргументи или операнди съответно във функция или операция. Най-вероятно ще срещнете тази дума в областта на JavaScript, когато се използва за споменаване на брой аргументи, очаквани от JavaScript функция.
Има дори и собственост на име arity, на функция
обект, който връща броя на очакваните аргументи във функция. Сега той вече е остарял и заменен с дължина
.
Следващата функция има присъствие от 3.
функция getName (първа, средна, последна) return first + "+ middle +" + last;
2. Анонимен
анонимен е прилагателно. Когато нещо или някой се нарича анонимно, това означава, че името на дадено нещо или лице е неидентифицирано. По същия начин в JavaScript анонимната функция е тази, която не се идентифицира с име.
(function () // body) ();
Над е IIFE (незабавно извикано функционално изражение). Функцията в нея е анонимна, тъй като няма име. Сега вижте по-долу.
var foo = function () ;
Смята се също, че това е анонимна функция, тъй като след ключовата дума няма име функция
.
Малко съмнение възниква в коректността на употребата на думата “анонимен”. С IIFE функцията се извиква веднага, без да се включва име, докато последната функция се нарича синтаксис Foo ()
се използва.
Сякаш кръщавахме безименна функция с името „foo“ и я наричахме с това. Това ли се счита за анонимен? Не знам, ще оставя това на английските експерти. Но, ако оставим настрана объркването си, и двамата наистина се наричат анонимна функция.
3. Закриване
Ето едно от дефинициите от речник Оксфорд за закриване: “Нещо, което затваря или запечатва нещо, като шапка или вратовръзка.”
В JavaScript затварянето е вътрешна функция, която е достъпна извън обхвата на външната му функция, като нейната връзка с променливите на външната функция все още е непокътната..
За да обясните нещата (може би не точно, а просто достатъчно), помислете закриване като сервитьор в ресторант. Много неща се случват в кухнята на ресторанта, където ни е забранено да влезем или да видим. Но как би трябвало тогава да си набавим храната?
Тук влизат сервитьори. Ние ги наричаме, поръчваме храната, а след това ще отидат в кухнята, ще информират готвачите за поръчките и ще ни я занесат, когато поръчката е готова. По този начин не сме нарушили нищо “правилник” и все още може да успее да вземе храна.
Сервитьорът е човек, който може да вземе поръчката ни в кухнята и да се върне с храната. JavaScript затваряне са подобни на това, те са в състояние да вземете нашите параметри и върнете ни променливите (препратки към тези променливи, за да бъдем точни) от функция, която не ни е разрешена.
функция order () var food; функция сервитьор (поръчка) chef (order); храна за връщане; функция готвач (ред) if (поръчка === 'паста') храна = ['паста', 'сос', 'подправка']; готвач(); функция cook () food.push ('cooked'); келнер за връщане; var myOrder = поръчка (); console.log (myOrder ( "паста")); // Array ["паста", "сос", "подправка", "варени"]
Както можете да видите от горния код, всичко освен сервитьор
и връщаната й стойност от вътрешната страна на функцията за поръчка не е изложена на външния свят.
4. Извиване
Ефектът, наречен на Haskell Curry, се отнася до използване на множество функции с единични аргументи, вместо една функция с множество аргументи. Нека да видим добави
функции по-долу например.
функция addx (x) функция addy (y) return x + y; return addy функция add (x, y) return (x + y); console.log (addx (3) (4)); 7 console.log (add (3,4)); \\ 7
И двете функции връщат един и същ резултат. Функцията addx
приема параметър х
докато се връщате Ади
което от своя страна приема ш
стойност, изпълнява добавянето с х
и връща сумата.
Функцията добави
просто отнема и двете х
и ш
едновременно изпълнява добавянето и връща сумата. Досега първата функция може да не изглежда много полезна, докато…
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
Сега първата функция изведнъж става интересна. В currying, винаги можете да поправите стъпка в последователност от операции като добавянето на 4 от горния код, което е полезно, когато една от променливите, използвани в операцията, е винаги една и съща.
5. Издигане
Повдигането означава да се вдигне нещо. Подемно в JavaScript също означава същото и това, което се повдига, е декларацията (декларации за променливи и функции).
Декларациите са там, където променливите и функциите се създават с ключови думи Var
(не за глобално) и функция
.
Няма значение къде се въвежда кодът за деклариране на функция или променлива, по време на оценката всички декларации се преместват в обхвата, където се намират (с изключение на в строг режим). Следователно, възможно е да се напише работен код с код за функционален разговор, поставен преди декларацията на функцията.
var име = 'Velma'; console.log (sayCatchPhrase (наименование)); // "Jinkies!" функция sayCatchPhrase (име) phrase = 'Фред Флинтстоун': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Бинго!', 'He-Man': 'Имам силата '; връщане на фрази [име];
6. Мутация
Мутацията означава промяна или модификация. Ако някога срещнете думата мутация в JavaScript, това вероятно се отнася до промените, през които са минали DOM елементите.
Има дори API, наречен MutationObserver, за да държи под око мутациите на DOM добавяне на детски елементи или промени в атрибутите на елемента. (Можете да прочетете повече за MutationObserver в моя пост.)
7. Pragma
Pragma е съкращение от прагматична информация. На ясен английски, прагматичен е прилагателно, което означава разумно и практично. В програмирането, Pragma се отнася до кода, който съдържа полезна информация за как компилатор или интерпретатор или асемблер трябва да обработва програмата.
Той не допринася нищо за самия език за програмиране и неговият синтаксис може да варира. Те засягат само поведението на компилатора. JavaScript също има няколко прагми, един от тях е стриктен
.
"използвайте строго";
С горната прагма, JavaScript кодът ще бъде изпълнен в строг режим. В строг режим лош синтаксис не е позволен, товароподемни не е направено, тихи грешки се показват и т.н. Тя помага в писане на по-сигурен и оптимизиран JavaScript код.
8. Sentinel
Стражи са войници, които стоят на стража (Помнете тези от X-Men?). В програмирането, стражи са стойности, които се използват за обозначаване на края на цикъл или процес. Те също могат да бъдат наречени “знамена”.
Можете да използвате всяка разумна стойност като страж. Ето пример за това стражи използван в JavaScript; на индекс на
метод, който връща -1 (стойността на sentinel), когато стойността за търсене не е намерена в целевия низ. По-долу е функция, която връща позицията на стойността на масив и ако стойността не е намерена, връща -1.
функция getPos (ary, val) var i = 0, len = ary.length; за (; и9. Ванилия
Мисля, че първият вкус на сладолед на всеки трябва да е бил ванилия. Аз също мисля, че не само в сладолед, но в почти всяка сладка ястие ванилия вид стана на стандартен аромат. Виждал съм доста рецепти за торта, където те добавят поне една капка от него в сместа - само за да се увеличи вкуса.
И това е, което ванилия е традиционен стандартен аромат. ванилия JavaScript се отнася към стандартния JavaScript - няма рамка. Vanilla всъщност не се използва само за описване на стандартната версия на JavaScript, но и на други езици като CSS.
10. Variadic
Variadic е прилагателно, създадено чрез присъединяване “променлив” и “adicity”. “Adicity” е от древногръцки, със значение, което е същото като латинската дума “arity” (Точка 1 от този списък). Така терминът variadic се използва за изразява нещо, което има различен брой аргументи.
В JavaScript, a variadic Функцията поема всякакъв брой аргументи. Тя може да бъде създадена с помощта на
аргументи
Имот,Приложи
метод и след ES6, операторът на разпространението. По-долу е даден пример с оператор за разпространение.функционален тест (… a) console.log (a); тест ('a', 'b', 'c', 8, [56, -89]); // изход е Array ["a", "b", "c", 8, Array [2]]