Jako ojciec 6-latka, który obecnie uczy małych dzieci (i względnego nowicjusza w kodowaniu bez formalnego wykształcenia, więc konieczne będą poprawki), myślę, że lekcja najlepiej trzymałaby się praktycznej zabawy. Jeśli sześciolatek jest gotowy zrozumieć, co to jest zamknięcie, to są one na tyle duże, że same mogą spróbować. Sugerowałbym wklejenie kodu do jsfiddle.net, wyjaśnienie i pozostawienie ich samych w celu stworzenia wyjątkowej piosenki. Poniższy tekst wyjaśniający jest prawdopodobnie bardziej odpowiedni dla 10-latka.
function sing(person) {
var firstPart = "There was " + person + " who swallowed ";
var fly = function() {
var creature = "a fly";
var result = "Perhaps she'll die";
alert(firstPart + creature + "\n" + result);
};
var spider = function() {
var creature = "a spider";
var result = "that wiggled and jiggled and tickled inside her";
alert(firstPart + creature + "\n" + result);
};
var bird = function() {
var creature = "a bird";
var result = "How absurd!";
alert(firstPart + creature + "\n" + result);
};
var cat = function() {
var creature = "a cat";
var result = "Imagine That!";
alert(firstPart + creature + "\n" + result);
};
fly();
spider();
bird();
cat();
}
var person="an old lady";
sing(person);
INSTRUKCJE
DANE: Dane to zbiór faktów. Mogą to być liczby, słowa, pomiary, obserwacje, a nawet tylko opisy rzeczy. Nie możesz go dotknąć, powąchać ani posmakować. Możesz to zapisać, wypowiedzieć i usłyszeć. Możesz go użyć do stworzenia zapachu i smaku dotykowego za pomocą komputera. Może być przydatny przez komputer za pomocą kodu.
KOD: Cały powyższy zapis nazywa się kodem . Jest napisany w JavaScript.
JAVASCRIPT: JavaScript jest językiem. Podobnie jak angielski, francuski lub chiński to języki. Istnieje wiele języków, które są rozumiane przez komputery i inne procesory elektroniczne. Aby JavaScript mógł być zrozumiany przez komputer, potrzebuje tłumacza. Wyobraź sobie, że nauczyciel, który mówi tylko po rosyjsku, przychodzi uczyć twoich uczniów w szkole. Kiedy nauczyciel mówi „все садятся”, klasa nie zrozumie. Ale na szczęście masz w klasie rosyjskiego ucznia, który mówi wszystkim, że to znaczy „wszyscy usiądźcie” - więc wszyscy to robicie. Klasa jest jak komputer, a rosyjski uczeń jest tłumaczem. W przypadku JavaScript najpopularniejszym tłumaczem jest przeglądarka.
PRZEGLĄDARKA: Kiedy łączysz się z Internetem na komputerze, tablecie lub telefonie, aby odwiedzić stronę internetową, korzystasz z przeglądarki. Przykłady, które możesz znać, to Internet Explorer, Chrome, Firefox i Safari. Przeglądarka może zrozumieć JavaScript i powiedzieć komputerowi, co musi zrobić. Instrukcje JavaScript są nazywane funkcjami.
FUNKCJA: Funkcja w JavaScript jest jak fabryka. Może to być mała fabryka z tylko jedną maszyną w środku. Lub może zawierać wiele innych małych fabryk, każda z wieloma maszynami wykonującymi różne zadania. W prawdziwej fabryce ubrań możesz mieć do czynienia z ryzami materiału i szpulkami nici oraz z koszulkami i dżinsami. Nasza fabryka JavaScript przetwarza tylko dane, nie może szyć, wiercić dziury ani topić metalu. W naszej fabryce JavaScript dane wchodzą i wychodzą.
Wszystkie te dane brzmią trochę nudno, ale jest naprawdę bardzo fajne; możemy mieć funkcję, która mówi robotowi, co zrobić na obiad. Powiedzmy, że zapraszam ciebie i twojego przyjaciela do mojego domu. Najbardziej lubisz udka z kurczaka, lubię kiełbaski, twój przyjaciel zawsze chce tego, co chcesz, a mój przyjaciel nie je mięsa.
Nie mam czasu na zakupy, więc funkcja musi wiedzieć, co mamy w lodówce, aby podejmować decyzje. Każdy składnik ma inny czas gotowania i chcemy, aby robot podawał wszystko na gorąco jednocześnie. Musimy dostarczyć tej funkcji dane o tym, co lubimy, funkcja może „rozmawiać” z lodówką, a funkcja może kontrolować robota.
Funkcja zwykle ma nazwę, nawiasy i nawiasy klamrowe. Lubię to:
function cookMeal() { /* STUFF INSIDE THE FUNCTION */ }
Zauważ, że /*...*/
i //
przestań czytać kod przez przeglądarkę.
NAZWA: Możesz wywołać funkcję niemal z dowolnego słowa, które chcesz. Przykład „cookMeal” jest typowy dla połączenia dwóch słów razem i nadania drugiemu dużej litery na początku - ale nie jest to konieczne. Nie może mieć spacji i nie może być liczbą samą w sobie.
RODZICE: „Nawiasy” lub ()
skrzynka na listy w drzwiach fabryki funkcji JavaScript lub skrzynka pocztowa na ulicy do wysyłania pakietów informacji do fabryki. Czasami skrzynka pocztowa może być na przykład oznaczona cookMeal(you, me, yourFriend, myFriend, fridge, dinnerTime)
, w którym to przypadku wiesz, jakie dane musisz podać.
SZACIONKI: „Szelki”, które wyglądają tak, to {}
przyciemnione szyby naszej fabryki. Z wnętrza fabryki widać, ale z zewnątrz nie widać.
PRZYKŁAD POWYŻSZEGO KODU
Nasz kod zaczyna się od funkcji słowa , więc wiemy, że jest jedna! Następnie nazwa funkcji śpiewa - to mój własny opis tego, o czym jest funkcja. Następnie nawiasy () . Nawiasy są zawsze dostępne dla funkcji. Czasami są one puste, a czasami mają coś w tym jeden ma słowa w.: (person)
. Po tym jest taki nawias klamrowy {
. Oznacza to początek funkcji sing () . Ma partnera, który oznacza koniec sing () w ten sposób}
function sing(person) { /* STUFF INSIDE THE FUNCTION */ }
Ta funkcja może mieć coś wspólnego ze śpiewaniem i może wymagać pewnych danych o osobie. Zawiera instrukcje, jak zrobić coś z tymi danymi.
Teraz, po funkcji sing () , pod koniec kodu jest linia
var person="an old lady";
ZMIENNE: Litery var oznaczają „zmienna”. Zmienna jest jak obwiednia. Na zewnątrz ta koperta jest oznaczona „osoba”. W środku znajduje się kartka papieru z informacją, której potrzebuje nasza funkcja, niektóre litery i spacje połączone razem jak kawałek sznurka (zwanego sznurkiem), który tworzy frazę „starsza pani”. Nasza koperta może zawierać inne rzeczy, takie jak liczby (nazywane liczbami całkowitymi), instrukcje (nazywane funkcjami), listy (nazywane tablicami ). Ponieważ ta zmienna jest zapisywana poza wszystkimi nawiasami klamrowymi {}
i ponieważ możesz zobaczyć przez przyciemnione okna, gdy jesteś w nawiasach klamrowych, ta zmienna jest widoczna z dowolnego miejsca w kodzie. Nazywamy to „zmienną globalną”.
ZMIENNA GLOBALNA: osoba jest zmienną globalną, co oznacza, że jeśli zmienisz jej wartość z „starszej damy” na „młodego mężczyznę”, osoba ta pozostanie młodym mężczyzną, dopóki nie zdecydujesz się go zmienić ponownie i że każda inna funkcja w kod widzi, że to młody człowiek. Naciśnij F12przycisk lub spójrz na ustawienia Opcje, aby otworzyć konsolę programisty przeglądarki i wpisz „osoba”, aby zobaczyć, jaka jest ta wartość. Wpisz, person="a young man"
aby go zmienić, a następnie ponownie wpisz „osoba”, aby zobaczyć, że zmienił się.
Po tym mamy linię
sing(person);
Ta linia wywołuje funkcję, tak jakby to był pies
„Chodź, zaśpiewaj , chodź i zdobądź osobę !”
Gdy przeglądarka załaduje kod JavaScript i osiągnie ten wiersz, uruchomi funkcję. Kładę wiersz na końcu, aby upewnić się, że przeglądarka ma wszystkie informacje potrzebne do jej uruchomienia.
Funkcje definiują akcje - główna funkcja polega na śpiewaniu. Zawiera zmienną o nazwie firstPart, która odnosi się do śpiewu o osobie, która dotyczy każdego z wierszy utworu: „Była” + osoba + ”, która przełknęła”. Jeśli wpiszesz firstPart w konsoli , nie otrzymasz odpowiedzi, ponieważ zmienna jest zablokowana w funkcji - przeglądarka nie widzi wewnątrz przyciemnionych okien nawiasów klamrowych.
ZAMKNIĘCIA: Zamknięcia to mniejsze funkcje znajdujące się w funkcji big sing () . Małe fabryki w dużej fabryce. Każdy z nich ma własne nawiasy klamrowe, co oznacza, że zmiennych w nich nie można zobaczyć z zewnątrz. Dlatego nazwy zmiennych ( stworzenie i wynik ) mogą być powtarzane w zamknięciach, ale z różnymi wartościami. Jeśli wpiszesz te nazwy zmiennych w oknie konsoli, nie uzyskasz ich wartości, ponieważ są ukryte przez dwie warstwy przyciemnionego okna.
Wszystkie zamknięcia wiedzą, czym jest zmienna funkcji sing () o nazwie firstPart , ponieważ mogą widzieć z ich przyciemnionych okien.
Po zamknięciach pojawiają się linie
fly();
spider();
bird();
cat();
Funkcja sing () wywoła każdą z tych funkcji w podanej kolejności. Następnie praca funkcji sing () zostanie zakończona.