Como pai de uma criança de 6 anos, atualmente ensina crianças pequenas (e um novato em relação à codificação sem educação formal, para que sejam necessárias correções), acho que a lição seria melhor através de brincadeiras práticas. Se a criança de 6 anos está pronta para entender o que é um fechamento, então ela tem idade suficiente para tentar. Eu sugiro colar o código no jsfiddle.net, explicando um pouco e deixando-os sozinhos para criar uma música única. O texto explicativo abaixo é provavelmente mais apropriado para uma criança de 10 anos.
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);
INSTRUÇÕES
DADOS: Os dados são uma coleção de fatos. Pode ser números, palavras, medidas, observações ou até apenas descrições de coisas. Você não pode tocar, cheirar ou provar. Você pode escrever, falar e ouvir. Você poderia usá-lo para criar cheiro e sabor toque usando um computador. Pode ser útil por um computador usando código.
CÓDIGO: Toda a escrita acima é chamada de código . Está escrito em JavaScript.
JAVASCRIPT: JavaScript é uma linguagem. Como inglês, francês ou chinês são idiomas. Existem muitos idiomas que são entendidos por computadores e outros processadores eletrônicos. Para que o JavaScript seja entendido por um computador, é necessário um intérprete. Imagine se um professor que só fala russo vem ensinar sua classe na escola. Quando o professor disser "садятся", a turma não entenderá. Mas, felizmente, você tem um aluno russo em sua classe que diz a todos que isso significa "todos se sentam" - assim todos vocês. A turma é como um computador e o aluno russo é o intérprete. Para JavaScript, o intérprete mais comum é chamado de navegador.
NAVEGADOR: Quando você se conecta à Internet em um computador, tablet ou telefone para visitar um site, usa um navegador. Exemplos que você pode conhecer são o Internet Explorer, Chrome, Firefox e Safari. O navegador pode entender o JavaScript e informar ao computador o que ele precisa fazer. As instruções JavaScript são chamadas de funções.
FUNÇÃO: Uma função em JavaScript é como uma fábrica. Pode ser uma pequena fábrica com apenas uma máquina dentro. Ou pode conter muitas outras pequenas fábricas, cada uma com muitas máquinas fazendo trabalhos diferentes. Em uma fábrica de roupas da vida real, pode haver resmas de tecido e bobinas de fio entrando e camisetas e jeans saindo. Nossa fábrica JavaScript processa apenas dados, não pode costurar, perfurar ou derreter metais. Em nossa fábrica de JavaScript, os dados entram e saem.
Todo esse material de dados parece um pouco chato, mas é realmente muito legal; podemos ter uma função que diga ao robô o que fazer para o jantar. Digamos que eu convide você e seu amigo para minha casa. Você gosta mais de coxas de frango, gosto de salsichas, seu amigo sempre quer o que você quer e meu amigo não come carne.
Como não tenho tempo para fazer compras, a função precisa saber o que temos na geladeira para tomar decisões. Cada ingrediente tem um tempo de cozimento diferente e queremos que tudo seja servido quente pelo robô ao mesmo tempo. Precisamos fornecer à função os dados sobre o que gostamos, a função pode 'conversar' com a geladeira e a função pode controlar o robô.
Uma função normalmente tem um nome, parênteses e chaves. Como isso:
function cookMeal() { /* STUFF INSIDE THE FUNCTION */ }
Observe que /*...*/
e //
pare o código que está sendo lido pelo navegador.
NOME: Você pode chamar uma função sobre qualquer palavra que desejar. O exemplo "cookMeal" é típico ao unir duas palavras e fornecer à segunda uma letra maiúscula no início - mas isso não é necessário. Ele não pode ter um espaço e não pode ser um número por si só.
PAIS: "Parênteses" ou ()
são a caixa de correio na porta da fábrica da função JavaScript ou uma caixa postal na rua para enviar pacotes de informações à fábrica. Às vezes, a caixa postal pode ser marcada, por exemplo cookMeal(you, me, yourFriend, myFriend, fridge, dinnerTime)
, nesse caso, você sabe quais dados você precisa fornecer.
Suspensórios: "Suspensórios" que se parecem com isso {}
são as janelas coloridas de nossa fábrica. De dentro da fábrica, você pode ver, mas de fora, não pode ver.
O EXEMPLO DE CÓDIGO LONGO ACIMA
Nosso código começa com a palavra função , então sabemos que é uma! Então o nome da função canta - essa é a minha própria descrição do que é a função. Então parênteses () . Os parênteses estão sempre lá para uma função. Às vezes, eles estão vazios, e às vezes eles têm algo em Este tem uma palavra em.: (person)
. Depois disso, existe uma chave assim {
. Isso marca o início da função sing () . Tem um parceiro que marca o final de cantar () como este}
function sing(person) { /* STUFF INSIDE THE FUNCTION */ }
Portanto, essa função pode ter algo a ver com o canto e pode precisar de alguns dados sobre uma pessoa. Possui instruções internas para fazer algo com esses dados.
Agora, após a função cantar () , perto do final do código está a linha
var person="an old lady";
VARIÁVEL: As letras var representam "variável". Uma variável é como um envelope. Do lado de fora, este envelope está marcado como "pessoa". No interior, ele contém um pedaço de papel com as informações de que nossa função precisa, algumas letras e espaços unidos como um pedaço de barbante (chamado de barbante) que faz a frase "uma velha senhora". Nosso envelope pode conter outros tipos de coisas como números (chamados números inteiros), instruções (chamadas funções), listas (chamadas matrizes ). Como essa variável é gravada fora de todos os chavetas {}
, e porque você pode ver através das janelas coloridas quando estiver dentro das chavetas, essa variável pode ser vista de qualquer lugar no código. Chamamos isso de 'variável global'.
VARIÁVEL GLOBAL: pessoa é uma variável global, o que significa que se você alterar seu valor de "uma velha senhora" para "um jovem", a pessoa continuará sendo jovem até que você decida alterá-la novamente e que qualquer outra função em o código pode ver que é um jovem. Pressione o F12botão ou veja as configurações de Opções para abrir o console do desenvolvedor de um navegador e digite "pessoa" para ver qual é esse valor. Digite person="a young man"
para alterá-lo e digite "pessoa" novamente para ver se foi alterado.
Depois disso, temos a linha
sing(person);
Esta linha está chamando a função, como se estivesse chamando um cachorro
"Vamos cantar , venha e pegue uma pessoa !"
Quando o navegador carrega o código JavaScript e atinge essa linha, ele inicia a função. Coloquei a linha no final para garantir que o navegador tenha todas as informações necessárias para executá-lo.
Funções definem ações - a principal função é cantar. Ele contém uma variável chamada firstPart que se aplica ao canto da pessoa que se aplica a cada um dos versos da música: "Havia" + pessoa + "que engoliu". Se você digitar firstPart no console, não receberá resposta porque a variável está bloqueada em uma função - o navegador não pode ver dentro das janelas coloridas dos aparelhos.
FECHAMENTOS: Os fechamentos são as funções menores que estão dentro da função big sing () . As pequenas fábricas dentro da grande fábrica. Cada um tem seu próprio aparelho, o que significa que as variáveis dentro deles não podem ser vistas de fora. É por isso que os nomes das variáveis ( criatura e resultado ) podem ser repetidos nos fechamentos, mas com valores diferentes. Se você digitar esses nomes de variáveis na janela do console, não obterá seu valor porque está oculto por duas camadas de janelas coloridas.
Todos os fechamentos sabem qual é a variável da função sing () chamada firstPart , porque eles podem ver pelas janelas coloridas.
Após os fechamentos vêm as linhas
fly();
spider();
bird();
cat();
A função sing () chama cada uma dessas funções na ordem em que são dadas. Em seguida, o trabalho da função sing () será concluído.