I Witamy z powrotem.
Więc ta lekcja jest całkowicie opcjonalne.
To trochę bonus.
To jest naprawdę coś, co jest dość interesująca.
Dlatego jestem przedstawiający go do ciebie, ale nie jest to niezbędne dla przebiegu.
I będziemy rozmawiać o tym, jak działa foreach i będziemy budować naszą własną wersję dla każdego.
Więc będziemy rozmawiać o tym, jak napisać funkcję, która pobiera jako argument funkcji, a następnie wykonuje tę funkcję w jej wnętrzu.
Więc znowu całkowicie opcjonalne.
Drugim powodem jest opcjonalne jest to, że jest trochę bardziej zaawansowany i nie chcę, by zastraszyć wszystkich, nie chcę czuć się źle, jeśli jest to czy jest to mylące dla Ciebie, ponieważ jest kłopotliwe i często trwa wiele powtórzeń tego.
Dla moich studentów, aby je zdobyć.
Więc to jest całkowicie opcjonalne.
I to jest ważne, ale nie jest to niezbędne do tworzenia aplikacji.
To nie jest istotne dla postępów w toku.
Jest to coś jednak, że w przypadku próby oglądania go raz i teraz to nie ma tonowy sensie do was można ich ponownego go pod koniec klasy, gdy pojawi się trochę więcej doświadczenia Javascript.
I to jest coś, co muszę zrobić z moich studentów osobiście przez cały czas, jak również.
Jak wspomniałem robimy ponownie ten wątek.
Zacznijmy więc będziemy budować nasze własne dla każdego i mamy zamiar zacząć od zdefiniowania funkcji nazywany po prostu dla każdego i to będzie działać nieco inaczej niż w ten sposób, że prawdziwa foreach działa bo teraz droga, która dla każdego dzieła jest zdefiniować tablicę nazwijmy to Nom i będziemy mieć kilka numerów tam tak.
I wzywam do siebie na nomy.
Więc nums kropki dla każdego, a potem dać mu funkcję i po prostu zobaczyłem to więc nie będę Was zanudzać zbyt dużo mam nadzieję, ale my po prostu zadzwonić pod ten numer, a następnie po prostu zrobić prosty stały dziennik.
Nie.
No to jedziemy.
Zajmuje funkcję i to wywołuje funkcję na każdym elemencie tablicy.
Knops nie zauważyć, że nie trzeba wprost pod nom dla każdego.
To po prostu nie wiedział o numerach wiedziała o tablicy, ponieważ zrobiliśmy kropkę Gnome dla każdego.
Więc my nie zamierzamy rozpocząć od zdefiniowania funkcji, która działa w ten sposób.
Mamy zamiar zacząć z jednym, który wygląda tak.
Dobrze nazwać mojego dla każdego i raczej do zbadania tylko jednego argumentu potrwa dwa.
A pierwszy z nich jest tablica, a drugi z nich jest funkcja.
Więc tablica będzie nomów.
I to będzie działać.
Więc jeśli chcesz uruchomić ten sam kod z NOM to będzie wyglądać ten mój za każdym przecinkiem nom, a potem cała nasza funkcja tutaj, które będą wyglądać tak samo, jak ten na szczycie.
Więc zaczynamy się z tą wersją, ponieważ jest to prostsze.
To trochę więcej składni ale to prostsze dla nas pisać.
Więc znowu jesteśmy przekazując Nom, a nie po prostu chwytając go za pomocą specjalnej magii javascript.
Istnieje sposób, aby chwycić go jeśli zdefiniowanie sposobu na coś takiego mamy tutaj, ale my się do tego.
OK, więc niech to zdefiniować MYF funkcyjny lub każda.
I zajmuje w tablicy i funkcji.
I nie możemy wywołać tą funkcję, ponieważ to szczególny wyraz w JavaScript.
Więc będziemy nazywać go Phunk lub F cokolwiek chcesz to nazwać, a następnie będziemy otwierać naszą funkcję.
I zacznijmy od rozmowy o tym, co dla każdej właściwie robi.
Więc pamiętać trzeba, że ​​funkcję i wzywa go do każdego elementu w tablicy.
Tak więc, aby to zrobić musimy użyć pętli, aby zrobić coś dla każdego elementu w tablicy.
Musimy mieć pętlę.
Więc po prostu użyć dla pętla pętli tablicy, a następnie w pętli jesteśmy po prostu będzie funkcję zadzwonić i wszystko, co trzeba zrobić, aby wywołanie funkcji jest dodanie nawiasów na końcu.
Więc to jest trochę mylące jest to warte moi uczniowie zawsze walczyć z wi kto uczy JavaScript zostanie zawieszony tutaj.
Należy jednak pamiętać o różnicy między nazwą funkcji bez nawiasów.
To tylko odnosząc się do samej funkcji.
Ale to nie wykonując je jak tylko dodam nawiasy trwa ten kod zamiast func i wykonuje go.
Więc mogę dać przykład.
Jeśli po prostu zrobić.
Pozwól, że cięcie to.
Gdybyśmy tylko Alert faktycznie nie działać.
Ale jak tylko dodać te nawiasy mamy alert.
I nie przechodzą nic, ale to wciąż wykonywany kod.
Więc wróćmy do naszego kodu i zamiast po prostu wywołanie Phunk razu jak to mamy będziesz pętli tablicy.
Więc dodać komentarz pętlę za pośrednictwem tablicy, a następnie wewnątrz Phunk połączeń Pętla dla każdego elementu w tablicy.
Więc pętli za pośrednictwem tablicy.
Więc jest to dla pętli.
Można również użyć pętli while, ale użyjemy pętli for.
Więc dla mnie równe zeru var I mniej niż R R długości kropki, które jest nazwą argumentu.
AR R.
A potem ja plus Plus ot tak, a potem będę przenieść tę linię do naszej pętli, ponieważ to, co chcemy zrobić, to wewnątrz tej pętli chcemy zadzwonić Phunk więc możemy zacząć po prostu dzwoniąc ludzie tak po prostu.
Więc niezależnie od funkcji jest przekazywana jako drugi argument ma być wywoływana raz dla każdego elementu tablicy my wciąż brakuje ważnego elementu jakim jest w rzeczywistości przekazać dane z każdego elementu w tablicy w.
Ale ta cała kolumna dla każdego elementu.
Więc naciśnij Enter.
A teraz spróbujmy to działa.
Zamierzam zdefiniować tablicę o nazwie kolory lub ulubiony mój ulubiony przynajmniej na pomarańczowo.
A my po prostu zatrzymać się na żółto.
Tak więc trzy elementy, a następnie Idę zadzwonić do siebie i przechodzą cztery kolory jak tablicy, a potem ja po prostu zrobić alert.
A my nie dodajemy nawiasów pamiętam bo to będzie wykonywany natychmiast alarm.
To nie to, co chcemy.
Chcemy funkcja mojego dla każdego za jeden wykonać alert.
Dlatego należy pamiętać, że jest rzeczywiście Phunk alert.
W tym przypadku, ale może to być również konsula, że ​​dziennik lub najczęściej byłoby anonimowa funkcja.
Określamy, które byłyby nazywane Wewnątrz Phunk.
Więc zmieńmy go z powrotem do ostrzegania i nie wciskamy enter.
Mam jeden alarm.
I hit OK mam innego wpisu.
I hit OK i mam jeszcze jedno ostrzeżenie.
Więc co się dzieje, że to dla pętli zapętlenie nad tablicy, która w naszym przypadku jest tablicą kolorów z trzech elementów.
Tak trzy razy w pętli i za każdym razem wywołuje func i wszystko, co jest Phunk jest czujny.
To wszystko, co jest.
Więc ostrzega go pustym alert trzy razy, ponieważ nie jesteśmy przechodząc niczego do funku.
Tak więc, aby pracować z danymi były przekazywane pod wpisem lub cokolwiek func jest wszystko co robimy jest przekazać trochę danych, które tu i trochę danych ma być każda pozycja w tablicy.
Więc sposób, że mamy dostęp do każdego elementu jest użycie I.
Więc jeśli dobrze pamiętam kod tutaj po prostu dodać wspornik tablicy.
Tak więc po raz pierwszy przez pętlę będzie to nazwać func która jest czujna.
W tym przypadku z pierwszego elementu tablicy, która jest tak czytać dostanie powiadomienie czytać, a potem staje się jednym.
Tak więc przypomnieć Phunk który wciąż jest alert z tablicy, które jest pomarańczowy.
Tak więc otrzymujemy powiadomienie na pomarańczowo, a potem jeszcze raz żółty alert powiedzmy więc zobaczyć, że teraz, gdy wspominam moje wykonanie dla każdego tutaj moje kolorach ostrzegawczych.
Teraz to daje mi czerwony pomarańczowy i żółty i to właściwie wszystko co jest do zdefiniowania dla każdego.
Jednak jak już mówiłem większość czasu nie będzie widać to w ten sposób, gdzie mijamy nazwie funkcji zazwyczaj mają anonimową funkcję.
Więc niech nie dać mu szansę.
Ale za pomocą anonimowej funkcji.
Więc moja dla każdego i wtedy będziemy przechodzić i kolory, a następnie ponownie anonimowa funkcja.
I pamiętaj, że choć nie ma nawiasów tutaj są bardzo różne nawiasy niż jeden powiedział wywołać funkcję.
Więc pozwól mi naprawdę pokazać, co mam na myśli.
Jeśli usunę tę pierwszą część i mam tylko anonimową funkcję tutaj.
I wszystko, co robimy wewnątrz jest dialogowego rady.
Jestem funkcji i naciśnij Enter teraz i mogę bezprzestrzenna zewnątrz kawałek dla ciebie, więc jest to trochę łatwiejsze, aby zobaczyć co się dzieje.
Co sądzisz się wydarzy.
No oczywiście, że się stało.
Pozwól mi wrócić i dodać zamykających nawiasów dla mojego dziennika rady dot.
Teraz to, co myślisz, będzie się działo.
Myślę, że to trochę psuje chwilę tutaj.
Ale jak już naciśnij Enter zobaczysz, że nic się nie dzieje.
Uzyskać wartość, która jest zwracana dla mnie wartość, która wysłany z powrotem.
Ale kod nie jest uruchamiany Nie widzę stałą perspektywę i to dlatego, że ta anonimowa funkcja nie została wywołana.
Zasadniczo istniał przez chwilę, a teraz go nie ma.
I nie dał mu nazwę.
Nie zapisać go do zmiennej.
Nigdy nie można nazwać go ponownie, chyba że go przepisać.
Tak więc, aby wykonać tę funkcję nadal muszę te nawiasy później.
Więc to jest wiele składni jest to rodzaj brzydki moim zdaniem.
Ale teraz, gdy miałem te nawiasy uzyskać funkcję.
Więc to jest to samo, gdy robimy to Mój kolorach dla każdego, a następnie mijamy anonimową funkcję tutaj.
I powiedzmy, że ta funkcja nic nie robi w ogóle powiedzmy alarmy hi ta funkcja nie jest wywoływana jest tutaj.
Jest to funkcja tutaj.
Ciągle potrzebujemy tych nawiasów potem jak my tu mamy.
A to pochodzi z wewnątrz mojego foreach dokąd dodanie tych nawiasów na funk i funk.
W naszym przypadku to jest tutaj cały drugi argument.
Więc jeśli jesteś trochę zagubiony w tym nie martw się znów nie jest niezbędna do reszty kursu.
Ale spróbować ponownie później na końcu więc mogę zrobić coś takiego, gdzie po prostu alert wysoka lub nie jestem w rzeczywistości za pomocą danych, takich jak czerwony pomarańczowy i żółty.
To nie jest tak powszechne chce zrobić, ale gdybym wciśnij enter.
Zobaczysz dostać jeden wysoki dwu i trzy maksima.
Więc dla każdego elementu w tablicy że kolor tam są trzy pozycje.
To wywołuje całą tę funkcję, ale nie częściej niż co chcieliśmy zrobić, to faktycznie skorzystać z tego koloru jak my tu robimy.
Albo możemy zacząć jak każdego koloru.
Więc wszystko, co musimy zrobić, to zaakceptować argument w naszych funkcji.
Więc moja foreach i to rozstawione to się nieco.
Więc funkcji i będzie to nazwać kolor, ale to może być wszystko, oczywiście, tak jak innych funkcji, które możemy określić.
To może być niemal wszystko, że nie musi być poprawną nazwą JavaScript nie może być czymś w rodzaju funkcji lub var, które są zastrzeżone dla ich słów kluczowych, ale nic innego nie działa.
Więc to, co my tu mamy.
Anonimowa funkcja jest obecnie spodziewa się, że argument, a następnie możemy go używać wewnątrz tutaj.
Tak Kolor dziennika konsoli dot zacząć.
Tak więc, aby przejść przez ten jeden więcej czasu pętli kolorach.
W tym przypadku to właśnie nasza tablica jest Are jesteśmy pętli że za każdym razem przez my dzwonisz Phunk która jest cała ta sprawa tutaj.
Mam przypomnieć, że w przejściu w bieżącej pozycji w tej tablicy.
Więc my nazywając ten kod tutaj.
A potem mamy przejściu na czerwono, a następnie pomarańczowe, a potem żółtym.
Tak więc kolor jest równa czerwony lub pomarańczowy lub żółty.
Za każdym razem po tej liście, jak widać mamy czerwony pomarańczowy i żółty.
Więc to jest podstawowym sposobem pisania dla każdego.
Ale jako obietnica Chciałbym również pokazać, w jaki sposób uzyskać dodawane do tablicy, więc możemy napisać to tak kolory dla każdej kropki lub kropki Moje strony dla każdego, ponieważ nie jest już dla każdego istnieje.
Będziemy go zostawić w spokoju.
Ale kolor Up My dla każdego.
A potem możemy przekazać w funkcji tutaj, aby to zrobić.
A kiedy skok trochę przed sobą nie rozmawialiśmy o obiektach jeszcze nie rozmawialiśmy o prototypach, ale jestem po prostu zamiar pokazać ci go tutaj i wtedy dowiemy się więcej o tym, jak kurs idzie na.
W rzeczywistości kolejna jednostka jest o obiektach.
Więc co możemy zrobić, to faktycznie dodać metodę do ponownego dot rodzaju prototypem produ nigdy przeliterować, a my nazywamy to moja dla każdego.
A zanim to zrobię, że zawiadomienie z autouzupełniania.
Są to wszystkie metody, które istnieją na prototypie tablicy.
Więc to gdzie mamy wszystkich tych metod, takich jak push and pop i Shift oraz unshipped i dla każdego, które istnieją na każdej tablicy są one zdefiniowane, co nazywa się prototyp tablicą i coś zdefiniowane na tym prototypie jest dostępna jest użyteczny w każdej pojedynczej macierzy ,
Więc spróbujmy to teraz przeczytać prototyp Up My dla każdego jest funkcją, a funkcja przyjmuje tylko jeden argument.
Teraz, jak mamy tu po prostu zajmuje func, a następnie wewnątrz musimy wykonać naszą samą logikę gdzie pętli tablicy, a następnie wywołać funkcję dla każdego elementu w tablicy.
Jedyną rzeczą, która się zmienia, to nie przyjmujemy argument.
AR to nie mamy już tablicę ale mamy go tutaj.
Jest to trochę inaczej.
Musimy wykorzystać słowo kluczowe to.
Więc słowo klucz to będzie odnosić się do konkretnej macierzy że dzwonisz Assan.
Tak więc w przypadku kolorów kropki dla każdego, jeśli pisaliśmy słowa kluczowego to wewnątrz dla każdej definicji mogłaby odnosić się do kolorów.
Ale jeśli my numerów dla każdego psa lub rzeczy dla każdego.
To odnosi się do konkretnej macierzy że jesteśmy wzywającej go.
Więc mamy zamiar zrobić cztery VAR I jest równa zeru.
Podczas gdy jest mniejsza od tej kropki jak ja plus plus.
Więc to jest pierwsza zmiana.
Wykorzystaliśmy ten link, który odnosi się do określonej tablicy.
Więc nie wpuszczamy go już.
Następną rzeczą, że robimy to nazywamy Phunk podobnie jak to miało miejsce w wersji oryginalnej, z wyjątkiem zamiast wspornika tablicy Chciałbym to zrobić wspornik.
Właśnie tak.
I to właściwie wszystko co jest do niego.
Więc po prostu dostosować go trochę przez zastąpienie R R, który ma nazwę naszej argumentacji.
A mogło to być nic oczywiście zastępując je słowem kluczowym tym.
Warto więc wypróbować go używać.
Musimy sprawić nową tablicę.
Więc zrobię jeden o nazwie przyjaciół i musimy mieć kilku przyjaciół.
Charlie.
Dave Matie i Caitlin tak po prostu nacisnąć enter.
Teraz możemy zrobić przyjaciół dot Moje strony dla każdego i że zajmuje jedną funkcję jako argument.
Więc może po prostu dać to alert, jeśli chcemy.
A my się Charlie.
Dave Madie i Caitlin, ale zazwyczaj nie widzimy go z anonimowej funkcji takich jak ten mój, a następnie dla każdej funkcji w tu i powiedzmy, że każdy z nich jest nazwa.
A potem, co możemy zrobić, to się do nas, ale zróbmy coś takiego Counsil logujących Kocham plusa nazwę.
Nie jedziemy i mamy.
Kocham Charlie Kocham Dave.
Kocham Maddy Kocham Caitlin.
OK, więc to wszystko jest do niego.
I nie mam na myśli, że w nonszalancki sposób jest dużo do niego, ale jeśli chodzi o kod to faktycznie dość krótki, zaledwie kilka nowych pojęć.
Prototyp ten rzeczą, która naprawdę nie przejść i zrobiłem to celowo.
To nie jest tak ważne w tej chwili skupić się na tym, ale to, co chcę skupić się na jest idea przekazywania funkcji wokół, więc możemy przekazać funkcję jako argument lub jako argument i nie będą realizowane Intel Wewnątrz Kod rzeczywiście odnoszą się do niego i dodać te nawiasy na końcu.
Więc bez tych nawiasach funkcja nic nie robi.
Istnieje.
Jest to wartość, która może się odwoływać, ale dodamy nawiasy i to właściwie wykonywane.
Dobrze świetnie.