Как отец 6-летнего ребенка, который в настоящее время обучает детей младшего возраста (и относительного новичка в области кодирования без формального образования, поэтому требуются исправления), я думаю, что этот урок лучше всего использовать в практической игре. Если шестилетний ребенок готов понять, что такое закрытие, тогда он достаточно взрослый, чтобы пойти самому. Я бы предложил вставить код в jsfiddle.net, немного пояснить и оставить их одних, чтобы придумать уникальную песню. Пояснительный текст ниже, вероятно, больше подходит для 10-летнего.
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);
ИНСТРУКЦИИ
ДАННЫЕ: Данные представляют собой набор фактов. Это могут быть цифры, слова, измерения, наблюдения или даже просто описания вещей. Вы не можете прикоснуться к этому, почувствовать запах или попробовать это. Вы можете записать это, сказать это и услышать это. Вы можете использовать его для создания сенсорный запах и вкус, используя компьютер. Это может быть полезно на компьютере с помощью кода.
КОД: Все написанное выше называется кодом . Это написано в JavaScript.
JAVASCRIPT: JavaScript это язык. Как английский или французский или китайский языки. Есть много языков, которые понимают компьютеры и другие электронные процессоры. Для того чтобы JavaScript был понятен компьютеру, ему нужен переводчик. Представьте, что учитель, который говорит только по-русски, приходит преподавать ваш класс в школе. Когда учитель говорит «все садятся», класс не понимает. Но, к счастью, у вас в классе есть русский ученик, который говорит всем, что это означает, что «все садятся» - так вы все делаете. Класс подобен компьютеру, а русский ученик - переводчик. Для JavaScript самый распространенный интерпретатор называется браузером.
БРАУЗЕР: при подключении к Интернету на компьютере, планшете или телефоне для посещения веб-сайта вы используете браузер. Примеры, которые вы можете знать, это Internet Explorer, Chrome, Firefox и Safari. Браузер может понимать JavaScript и сообщать компьютеру, что ему нужно делать. Инструкции JavaScript называются функциями.
ФУНКЦИЯ: функция в JavaScript похожа на фабрику. Это может быть небольшая фабрика с одной машиной внутри. Или это может быть много других маленьких фабрик, на каждом из которых много машин делают разные работы. На реальной фабрике одежды у вас могут быть пачки тканей и бобин ниток, а также футболки и джинсы. Наша фабрика JavaScript обрабатывает только данные, она не может шить, сверлить или расплавлять металл. В нашей фабрике JavaScript данные поступают, а данные выходят.
Все эти данные звучат немного скучно, но это действительно очень круто; у нас может быть функция, которая сообщает роботу, что делать на обед. Допустим, я приглашаю вас и вашего друга в мой дом. Тебе больше всего нравятся куриные ножки, я люблю сосиски, твой друг всегда хочет того, что ты хочешь, а мой друг не ест мяса.
У меня нет времени ходить по магазинам, поэтому функция должна знать, что у нас в холодильнике, чтобы принимать решения. Каждый ингредиент имеет разное время приготовления, и мы хотим, чтобы робот одновременно подавал все в горячем виде. Нам нужно предоставить функции данные о том, что нам нравится, функция может «разговаривать» с холодильником, а функция может управлять роботом.
Функция обычно имеет имя, скобки и фигурные скобки. Нравится:
function cookMeal() { /* STUFF INSIDE THE FUNCTION */ }
Обратите внимание, что /*...*/
и //
остановите код, читаемый браузером.
ИМЯ: Вы можете вызывать функцию практически из любого нужного вам слова. Пример «cookMeal» типичен для объединения двух слов и введения второго заглавной буквы в начале, но это не обязательно. В нем не может быть пробела, и это не может быть число само по себе.
РОДИТЕЛИ: «круглые скобки» или ()
почтовый ящик на двери фабрики функций JavaScript или почтовый ящик на улице для отправки пакетов информации на фабрику. Иногда почтовый ящик может быть отмечен, например cookMeal(you, me, yourFriend, myFriend, fridge, dinnerTime)
, в этом случае вы знаете, какие данные вы должны предоставить.
BRACES: «Подтяжки», которые выглядят так, {}
- это тонированные стекла нашей фабрики. Внутри фабрики вы можете видеть снаружи, но снаружи вы не можете видеть внутри.
Пример длинного кода выше
Наш код начинается со слова function , поэтому мы знаем, что он один! Затем название функции sing - это мое собственное описание того, о чем эта функция. Тогда скобки () . Скобки всегда есть для функции. Иногда они пусты, и иногда у них есть что - то в этом один имеет слово.: (person)
. После этого есть такая скобка {
. Это отмечает начало функции sing () . У него есть партнер, который отмечает конец Sing (), как это}
function sing(person) { /* STUFF INSIDE THE FUNCTION */ }
Так что эта функция может иметь отношение к пению и может потребовать некоторые данные о человеке. Внутри него есть инструкции, чтобы что-то делать с этими данными.
Теперь, после функции sing () , ближе к концу кода находится строка
var person="an old lady";
VARIABLE: буквы var означают «переменная». Переменная похожа на конверт. Снаружи этот конверт помечен как «человек». Внутри он содержит листок бумаги с информацией, которая нужна нашей функции, некоторые буквы и пробелы, соединенные вместе, как кусок строки (это называется строкой), что делает фразу «старая женщина». Наш конверт может содержать другие виды вещей, такие как числа (называемые целыми числами), инструкции (называемые функциями), списки (называемые массивами ). Поскольку эта переменная записана вне всех фигурных скобок {}
, и поскольку вы можете видеть сквозь тонированные окна, когда находитесь внутри фигурных скобок, эту переменную можно увидеть из любого места в коде. Мы называем это «глобальной переменной».
ГЛОБАЛЬНАЯ ПЕРЕМЕННАЯ: человек - это глобальная переменная, означающая, что если вы измените ее значение со «пожилой женщины» на «молодой человек», человек будет оставаться молодым человеком, пока вы не решите изменить его снова и что любая другая функция в Код может видеть, что это молодой человек. Нажмите F12кнопку или посмотрите настройки параметров, чтобы открыть консоль разработчика в браузере, и введите «person», чтобы увидеть, что это за значение. Напечатайте, person="a young man"
чтобы изменить это, и затем напечатайте "человека" снова, чтобы видеть, что это изменилось.
После этого у нас есть линия
sing(person);
Эта строка вызывает функцию, как если бы она вызывала собаку
"Давай петь , иди и получить человека !"
Когда браузер загрузит код JavaScript, достигший этой строки, он запустит функцию. Я поставил строку в конце, чтобы убедиться, что в браузере есть вся информация, необходимая для его запуска.
Функции определяют действия - основная функция - пение. Он содержит переменную под названием firstPart, которая применяется к пению о человеке, которое относится к каждому из стихов песни: «Был« + человек + », который проглотил». Если вы введете firstPart в консоли, вы не получите ответ, потому что переменная заблокирована в функции - браузер не может видеть внутри окрашенных окон фигурных скобок.
ЗАКРЫТИЯ: замыкания - это меньшие функции, которые находятся внутри большой функции sing () . Маленькие фабрики внутри большой фабрики. Каждый из них имеет свои собственные скобки, которые означают, что переменные внутри них не видны снаружи. Вот почему имена переменных ( существо и результат ) могут повторяться в замыканиях, но с разными значениями. Если вы введете эти имена переменных в окне консоли, вы не получите их значение, потому что оно скрыто двумя слоями тонированных окон.
Все замыкания знают, что такое переменная функции sing () под названием firstPart , потому что они могут видеть из своих тонированных окон.
После закрытия идут линии
fly();
spider();
bird();
cat();
Функция sing () будет вызывать каждую из этих функций в том порядке, в котором они заданы. Тогда работа функции sing () будет выполнена.