O básico do JavaScript para iniciantes - Seção 4: funções | Rob Merrill | Skillshare

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

O básico do JavaScript para iniciantes - Seção 4: funções

teacher avatar Rob Merrill, JavaScript Instructor

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

7 aulas (33 min)
    • 1. Javascript nos conceitos básicos - de - vídeo de Promo

      1:55
    • 2. Javascript de básico — Funções: introdução

      4:30
    • 3. Javascript de básico - funções: introdução

      3:46
    • 4. Javascript de básico — funções: mergulho profundo

      5:31
    • 5. Javascript - funções: de mergulho profundo

      5:03
    • 6. Javascript de básico - funções: espaço

      5:23
    • 7. Javascript de básico - funções:

      7:02
  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

694

Estudantes

--

Projeto

Sobre este curso

Curso 4

Neste curso, você vai In

  • Exposições de funções
  • Declarações de funções
  • IIFE's
  • Âmbito de função

Por todo nosso Javascript para a série de curso para iniciantes, você vai encontrar essa sua uma parada necessária para entrar na linguagem de linguagem de JavaScript. Vamos começar do zero e desenvolver nossa compreensão da linguagem de programação mais popular do mundo juntos.

Confira o JavaScript em ação com vídeos de quadro de branco para a visualização no seu smartphone. Este é realmente um curso com que você pode se envolver não importa em onde estiver em Faça sua educação em JavaScript em parte! Com vídeos de quadro de branco

Você pode praticar o JavaScript no seu navegador da web! Aproveite as ferramentas de desenvolvedor do Google Chrome para colocar o JavaScript que você aprendeu durante sua aula de whiteboard em prática com outros exemplos e desafios. Este é nosso de jogo de JavaScript de

Aprender JavaScript é como aprender um idioma. Este curso não vai fazer uma falsa promessa de dizer que você vai dominar o JavaScript durante a noite. No entanto, este curso vai mergulhar você na linguagem de programação mais popular do mundo.

Cada curso vai apresentar você algo novo no course :

  • Sintaxe no JavaScript
  • Javascript Criação de blocos
  • Melhores de JavaScript
  • Objetos no JavaScript
  • Arrays no JavaScript
  • Exposições regulares no JavaScript
  • Programação funcional no JavaScript
  • Algoritmos do JavaScript
  • Estruturas de dados no JavaScript
  • JavaScript de JavaScript 6

Você vai terminar esse curso com uma compreensão do Javascript que vai permitir que você veja um mergulho mais mais mais profundo no idioma e vai lançar em uma nova carreira como desenvolvedor de web de Javase.

Aprender um novo idioma pode ser difícil e até mesmo se sentir intimidando. JavaScript o básico de noções básicas para o processo de aprendizagem para ficar acessível e makes

Conheça seu professor

Teacher Profile Image

Rob Merrill

JavaScript Instructor

Professor

Rob Merrill is a Full Stack JavaScript Developer. His specialty is in the MEAN stack focusing on AngularJS, NodeJS, ExpressJS and MongoDB.

He is a graduate of Code Fellows Advanced Full Stack JavaScript Development course and has been developing with JavaScript for three years.

In his spare time he travels around Seattle's finest craft breweries with his wife and their dog.

Visualizar o perfil completo

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%
Arquivo de avaliações

Em outubro de 2018, atualizamos nosso sistema de avaliações para melhorar a forma como coletamos feedback. Abaixo estão as avaliações escritas antes dessa atualização.

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui cursos curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Javascript nos conceitos básicos - de - vídeo de Promo: Bem-vindo ao script Java. O Basics. JavaScript é a linguagem de programação mais popular no mundo tem sido chamado a linguagem da Web Stack Overflow listado como a tecnologia surda mais popular e obter números que como o top ranks aprendizagem linguagem JavaScript permitirá que você seja um desenvolvedor pilha completa ou financiar uma especialidade no front-end ou no back-end. Com JavaScript, você será capaz de lidar com frontais e frameworks como reagir e angular no lado do cliente . E você também pode cortar no lado do servidor back-end sem Js e criar bancos de dados com Mongo . DB JavaScript é uma linguagem, por isso vai levar algum tempo para aprender antes que você possa escrever poesia ou um romance em qualquer idioma, você tem que primeiro aprender o alfabeto linguístico, como fazer palavras e ver como outros usam. Para aprender JavaScript. Vamos procurar debaixo do capô. Isso não vai ser apenas um exercício na cópia do código de outra pessoa para acabar com um aplicativo que você não entende. Tudo o que fazemos será visual na forma de uma lição de quadro branco onde você pode realmente ver como tudo funciona e se conecta. Se você é um aprendiz visual, este é o curso para você. Isso não é sobre ir 0 a 60 ou zero para herói, porque se você realmente está começando em zero, esses cursos te deixam para trás rapidamente. É sobre aprender. Compreender e aplicar é que você pode criar e criar com Javascript. Caminho seguirá o nosso quadro branco. As lições sobre a maneira de laboratório entrarão no desenvolvedor de software do Google Chrome. Cardos do cônsul são recreio de script Java. Não há nada que você precise baixar para este curso. Sem ferramentas especiais, sem passos extras. Só Google, cromo, tudo. Você aprendeu a lição que recriaremos juntos no laboratório. Em seguida, apresentarei um desafio de código para recriar o que aprendemos juntos e, em seguida, analisaremos juntos uma possível solução. Bem-vindo ao Java Script. O básico. Vamos começar a falar script de trabalho 2. Javascript de básico — Funções: introdução: Bem-vindo de volta a Java. Script O básico. Nesta seção de lições, vamos olhar para as funções. O que é uma função Funções permitem agrupar um sério de declarações juntos para executar uma tarefa específica. Se diferentes partes de uma Escritura Pete a mesma tarefa, você pode reutilizar a função em vez de repetir o mesmo conjunto de instruções. Funciona como uma navalha objetos, mas você pode pensar neles como os verbos do mundo do objeto. Eles são como o botão que você pressiona para obter o resultado que você quer. Eles permitem que você agrupe uma série de instruções juntas para formar uma tarefa específica no script Java. Se você se encontrar escrevendo a mesma coisa uma e outra vez, este é um sinal de que você pode criar uma função para fazer isso para você. Há um termo chamado Dry no mundo da programação que representa. Não se repita, e isso é o que bons programadores dio. Eles não se repetem e esta palestra. Vamos olhar para a anatomia ou sintaxe de uma função e declarar essa função. Vamos começar olhando para algum código. Começaremos com uma declaração de função mais tarde. As aulas teóricas permitirão analisar diferentes formas de utilizar e escrever funções. Aqui temos um drama despojado palavra-chave como var. É uma palavra-chave, função palavra reservada, deixando o nosso interpretador JavaScript saber que estamos criando uma função. Em seguida, temos um nome de função ou identificador. Isso não será verdade para todas as funções, e veremos exemplos dessas nas próximas lições. O nome precisará atender a todas as qualificações e práticas recomendadas de nomeação de variáveis que vimos em nossa lição de variáveis. Isso significa que ele pode começar com uma letra maiúscula ou minúscula, cifrão ou sublinhado. Eles não podem começar com um número, usar uma palavra-chave ou conter espaços. Nomes de funções geralmente são verbos ou frases que começam com verbos após a função. Nome invariável de palavra-chave são parênteses abertas e fechadas, nos quais você tem a opção de colocar parâmetros. Eles serão executados quando a função for chamada ou em votação. Vamos viver este espaço em branco por enquanto, mas veremos alguns exemplos em um momento. Em seguida, temos o bloco de código. As duas chaves são o indicador do bloco de código ou do corpo da função. As etapas que a função precisa executar para executar tarefas de desempenho são empacotadas em um catálogo de códigos. Um bloco de código consiste em uma ou mais instruções contidas dentro de chaves, e você não lê um ponto-e-vírgula após a chave de fechamento como você faz depois de uma instrução . Agora estamos em posição de chamar nossa função. Agora que você declarou a função, você pode então executar todas as instruções entre suas chaves com apenas uma linha de código. Isso é conhecido como Cohen a função ou invocando a função. O corpo ou bloco de código da função entre as duas chaves não é executado quando a função é definida. Mas quando está em votação na linguagem de programação, você diria que este código chama uma função. Às vezes você vai encontrar-se declarando uma função que precisa de informação. Isso envolverá lidar com parâmetros e argumentos. Argumentos e nomes de parâmetros são apenas espaços reservados. Os nomes deles não importam é a ordem que será importante. No entanto, tendo dito isso, ser legível por humanos é importante e seus nomes realmente importam para aqueles que estarão trabalhando em seu código com você ou depois de você. Vamos olhar para outra função e a função declarada Você tem o que são chamados parâmetros. Os parâmetros serão preenchidos pelo que entrou. Quando você chama uma função chamando uma função, nossa função na vocação será o tempo para fornecer valores ou argumentos para os parâmetros das funções . Aqui, Abraham é o argumento para o primeiro parâmetro nome, e Lincoln é o argumento para o parâmetro sobrenome. Então lembre-se, parâmetro é o termo que usamos para o código na declaração de função. Um argumento é o termo que usamos para o código quando chamamos a função. Não, podemos executar esta função várias vezes. Você poderia fazer isso por vários presidentes. Poderíamos colocar George Washington para obter o nome do nosso primeiro presidente. Poderíamos colocar Thomas Jefferson diploma Thomas Jefferson e assim por diante. Isso é tudo. Por agora. Acabamos de dar nossa primeira olhada nas funções. Vemo-nos em seguida no laboratório onde colocamos em prática o que aprendemos. 3. Javascript de básico - funções: introdução: Tudo bem neste laboratório. Vamos rever nossa lição sobre função, sintaxe e usando argumentos e parâmetros dentro de uma função que vimos em nossa palestra. As funções de ar indo dedo do pé têm uma função de palavra-chave. Eles podem ser nomeados ou anônimos, dependendo do resultado que você deseja e conter um bloco de código. Este bloco de código específico não será executado até que a função tenha sido chamada ou em votação. Vamos em frente e começar com a construção de uma função juntos. Vamos criar uma variável que cumprimenta nosso vizinho. Bom dia. Então temos uma função. Bom dia, vizinho. E temos um bloco de código a dizer “Regresso Bom dia, Vizinho”. Vamos em frente e executar uma linha de código que invoca uma chamada e executa a função. Isso é simples o suficiente. Vamos deixar isso afundar criando outra função rapidamente. Isso vai dar boa noite ao nosso vizinho e você está pensando neles por algo que eles fizeram para que possamos limpar o que temos. Temos função. Boa noite, vizinho, e temos um bloco de código que retorna uma string dizendo Boa noite, vizinho. Obrigado por tudo. E então invocamos a função. Boa noite, vizinho, e voltamos boa noite, vizinho. Obrigado por tudo. Ambas as funções são um pouco impessoais. Parece que você não conhece seu vizinho muito bem. Aqui está o desafio. Reescreva ambas as funções para incluir parâmetros e argumentos com nomes reais. E na segunda função, onde diz Obrigado por tudo o que é bastante genérico. Certifique-se de que você tem um parâmetro, um argumento que permite que você seja mais específico sobre seu vizinho quando você chamar sua função. Então, aqui está o seu desafio. Reescrever ambas as funções, incluindo um parâmetro um argumento para nome em ambos e novamente na segunda função, substituir tudo por um parâmetro, um argumento nomeando uma tarefa. Tudo bem, boa sorte. Vá em frente e pausar o vídeo e vamos voltar e frente da solução juntos. Ok, ajuda que correu bem para você. Se isso fosse um pouco difícil e complexo. Está tudo bem. Existem algumas partes móveis neste cenário. Vamos começar com um bom dia. Vá em frente e dê-lhe o nome do parâmetro. Poderia realmente ser qualquer parâmetro, mas para a legibilidade, queremos um parâmetro que faça sentido humano. Então escolhemos o nome. Vamos então retornar uma cadeia de bom dia com um suporte de espaço e Wilken Cat que usando o nosso operador de atribuição com o parâmetro name. Em seguida, vamos em frente e chamar ou invocar nossa função. Bom dia, e usamos o argumento do Joe. O resultado é bom dia, Joe. Nosso último desafio é pegar a função boa noite e passá-la para parâmetros e invocar essa função com dois argumentos. Vamos em frente e olhar para isso muito rapidamente. Temos a função, boa noite e o retorno do bloco de código. Boa noite, vizinho. Obrigado por tudo. Queremos que nossos argumentos e parâmetros especifiquem o vizinho e o que você estava pensando neles . Para o primeiro parâmetro, vamos colocar nome como em nosso exemplo anterior, nosso segundo argumento pode ser qualquer coisa, mas vamos colocar a palavra tarefa eo bloco de código irá escrever algum código que leva em dois parâmetros e pode gatos eles juntos com a força que temos para ser Astra Special One. Examinando essas cordas juntas para ter o espaçamento adequado incluído. Vamos em frente e invocar nossa função, dando-lhe os argumentos. Boa noite e, em seguida, para o nome vai colocar Hank e para a tarefa vai colocar levar o lixo para o meio-fio eo resultado é Boa noite, Hank. Obrigado por levar o lixo para a calçada. Isso é tudo o que temos para esta seção de laboratório verá na próxima palestra. 4. Javascript de básico — funções: mergulho profundo: Muito bem, bem-vindos de volta a Java. O guião. O básico. Nesta lição, vamos dar um mergulho mais profundo nas funções. Última lição. Nós olhamos para a função, sintaxe e uma chamada de função. Nesta lição, vamos olhar para expressões de função, funções anônimas, e se ele é eu conheço um trabalho estranho. No início, essas diferenças de ar vai parecer sutil, eo aplicativo não é claro. Mas à medida que você se aprofundar na programação, será necessário usá-los adequadamente e entender as diferenças no que o interpretador JavaScript faz com eles. Então, por enquanto, nossa tarefa é aprender a identificar cada um deles e aprender como o interpretador JavaScript interage com cada um deles. Vamos começar com a expressão da função. Isto é quando você atribui uma função como um valor a uma variável, um sinal de função. Toe variável é quando colocamos uma função em um recipiente ou caixa, e nós rotular essa caixa com o nome das variáveis. Então, para obter esses dados, chamamos a variável para ter acesso a ele. Vamos olhar para a nossa função da última lição e fazer uma comparação. Nós temos a palavra-chave function, em seguida, o nome da função, e, em seguida, entramos no bloco de código, que é uma declaração de retorno dado a nós esta string. Bom dia, vizinho. Esta é uma função declaração função função. Declarações Air, sempre nomeado agora, estava olhando uma expressão de função em comparação. À medida que olhamos para os dois e procuramos as diferenças, podemos ver que uma expressão de função não é nomeada. Pode ser, mas como a função é armazenada em uma variável, não é necessário nomear a função. Para acessá-lo neste caso seria código desnecessário. Isso faz com que seja o que chamamos em função anônima dentro da variável. Agora, se nós apenas entrar, são variáveis no console, não vamos obter os resultados da função. Lembre-se, uma função não é executada até que seja chamada ou chamada. Em vez disso, simplesmente obtemos toda a função de volta para nós. Precisamos invocar ou chamar nossa variável, que então executa nossa função e retorna seu valor. Aqui está a diferença notável. Isso pode levar um tempo para afundar. O interpretador JavaScript sempre procura palavras-chave variáveis e funções antes de passar e executar cada linha do script. Tudo bem se isso for um pouco confuso. É um pouco complexo, e você não precisa ter uma compreensão completa. Neste ponto, Basta estar ciente de que o interpretador JavaScript procura variáveis e declarações de função antes de executar seu código. A grande diferença é que com a declaração de função, você pode chamar a função antes mesmo de declará-la em seu código. Isso ocorre porque o interpretador JavaScript encontra essa função de palavra e seu valor e armazena antes de começar a executar cada linha do código. Então, quando essa função é chamada, o interpretador JavaScript já sabe sobre ela. No entanto, para a expressão da função, não encontramos isso. O interpretador JavaScript olha para a palavra var e içado até o topo. O guincho é um conceito determinado. Vamos dar uma olhada mais profunda em outro vídeo, então não se preocupe muito com isso agora, mas ele lista essa variável para o topo e armazena seu valor como indefinido para a variável. Então, se tentarmos invocar ou chamar a expressão da função neste ponto, vamos ao ar livre. A função não foi definida. O intérprete ainda não sabe. É uma diferença sutil para um novo programador olhos e vai levar algum tempo para afundar e ver a diferença é que ele pode fazer. Vamos passar algum tempo juntos no laboratório para praticar isso mais algumas vezes. Vamos fechar esta palestra olhando para outra coisa que poderíamos fazer com funções. Isso é chamado de F E. Significa expressão de função imediatamente invocada. Vejamos um exemplo de código. Isso se parece exatamente com a nossa expressão de função, onde temos a função armazenada dentro de uma variável. Se ele também está bem para fazer funções anônimas também. Agora vamos armazená-lo em uma expressão de função. O que há de novo é este conjunto extra de parênteses no final da nossa expressão de função. Isto é o que vai chamar a função é onde você coloca quaisquer argumentos que você pode ter. Então tudo isso é enrolado dentro de outro conjunto de parênteses. Além disso, podemos colocar os parênteses de fechamento após a função rap, embora a melhor prática parece ter o conjunto de parênteses fechando dentro de toda a função. Em nossos exemplos anteriores, vimos que a função tinha que ser chamada para que o código na função fosse executado. Em ambos os casos, se ele não está esperando para ser chamado em vez disso, eles são executados quando o intérprete se deparar com eles. Como o interpretador JavaScript se depara com esses dois blocos de código, ele interage com eles de forma diferente para a expressão da função sem um duvidoso. O valor armazenado dentro da variável é a função cujo bloco de código ainda não rant quando ele é executado através de uma expressão de função com um iffy armazenado na variável, ele armazena os resultados da função. Ele armazena o código que foi executado novamente. A importância disso pode ser difícil de detectar agora, mas um benefício de expressões de função imediatamente invocadas é garantir que os nomes de variáveis não entrem em conflito entre si. Isso é um grande negócio na programação, e teremos mais sobre isso mais tarde. Obrigado por se juntar a mim para dar uma primeira olhada em expressões de função, funções anônimas. E se ele estiver e eu o verei no laboratório para alguma experiência. 5. Javascript - funções: de mergulho profundo: Tudo bem. Bem-vindos ao laboratório e à nossa palestra. Nós olhamos para expressões de função, funções anônimas. E se ele for, começamos a investigar Hava Java script Interpreter interage com a forma como escrevemos nossas funções. Vimos que um expressionista fortuna assina a função como um valor para a variável ah, função Expressão como uma declaração de função deve ser chamado são invocados dentro do nosso código para ser executado. Nós também foram introduzidos para funções anônimas que vão sem um nome de função. Então nós olhamos para Se ele é que esses blocos de ar de código que são executados imediatamente e não precisam de uma invocação separada ou chamada para executá-los, era uma coisa bastante complexa. E se você é novo na programação, provavelmente ficou muito complexo bem rápido. Vamos dividir nossa lição em pedaços no laboratório e quebrar um pouco dessa complexidade. Vamos começar fazendo uma declaração de função. Lembre-se, as declarações de função devem ser nomeadas posteriormente. Vou pedir que transforme essa função nomeada em uma expressão de função. Vamos criar uma função declarada knock knock dentro de seu bloco de código. Vamos retornar o valor de uma string são. Quem está aí? Uma declaração de função não é uma instrução executar herbal. Portanto, não é prática comum terminar declarações de função com ponto e vírgula. Seu primeiro desafio será uma revisão. Eu quero que você simplesmente chame esta função. Vá em frente e pause este vídeo e dê uma chance. Tudo bem. Espero que tenha sido fácil para você. Nós vamos simplesmente colocar bater, bater, bater, dobrar pelos parênteses para chamar a função de seu próximo desafio depois que você pausar. Este vídeo é para transformar essa função de nome em uma função anônima e armazenar essa função anônima dentro de uma expressão de função. Então quero que chame a função. Tudo bem. Como isso foi, espero que tenha sido bastante simples. Vamos resolver isso juntos. Vamos dar um nome de variável novamente. Pode ser qualquer nome de variável. Poderia ter sido batido vezes dois. Próximo. O valor que damos à variável é uma função anônima. Simplesmente removemos o nome. Mas você não tem que fazer isso . No entanto, vez que está sendo um sinal da variável manter a função nomeada não é muito útil para nós agora. Então agora vamos olhar para o valor de knock knock e nós simplesmente obter a função que ainda não foi executado? Não. Se você quiser chamar essa função, nós apenas invocamos nossa batida. Bate variável e pegamos quem está lá. Ótimo. Agora vamos construir uma lembrança bacana e se ele for imediatamente invocado, expressão de função. Estes função aérea é que o Irã imediatamente, e você não precisa invocar ou chamá-los com um pedaço de código separado. São funções anônimas que são imediatamente invocadas. Vamos começar com a função declarada que vamos chamar um cão. Walker dará os parâmetros de pessoa e cão, e o bloco co retornará o argumento para pessoa. E a corda está tomando do que o argumento para o cão, seguido pela corda para uma caminhada. Então vamos em frente e função de cor e dar-lhe argumentos para pessoa e cão. O resultado é que Paul está levando Charlie para um passeio. Agora aqui está o nosso desafio. Quero que transforme isso em uma expressão de função imediatamente invocada do que seu segundo desafio é. Para colocar isso se ele dentro da variável de sua escolha e chamar a variável. Tudo bem, vá em frente, pause o vídeo e dê uma chance. Então voltaremos juntos para encontrar uma solução. Como foi isso tinha algumas peças em movimento, então não desanime se você não conseguiu. Vamos envolver todos os parênteses de função dentro. Nós removemos o nome da função para torná-lo anônimo. Nós então Leicester parâmetros de pessoa e cão. Executamos exatamente o mesmo bloco de código que imediatamente depois disso. Invocamos nossa função com os argumentos de Paul para pessoa e Charlie para cão. E obtemos os mesmos resultados. Não, nós vamos armazenar esta função dentro de uma variável para economizar algum tempo. Eu só vou pressionar a era de cima e definir cão andador variável igual a isso. Se ele se lembrar em lições anteriores que em uma expressão de função que se nós retornar a variável, nós só obter a função com seu bloco de código retornar para nós e não os resultados da função que foi executado. Não é assim se ele é nós simplesmente temos que inserir a variável e o valor das funções, não a função é retornada. Muito legal, certo? Espero que isso esteja começando a fazer uma conexão com você. Estas duas lições mergulharam um pouco no final mais profundo do javascript. Se você se encontrasse com dificuldades, provavelmente seria uma boa ideia rever esses dois vídeos outra vez ou duas para acompanhar as futuras lições sobre funções. Isso é tudo por enquanto. Obrigado por levar isso fundo. Mergulhe nas funções e nos veremos na próxima lição. 6. Javascript de básico - funções: espaço: Muito bem, bem-vindos de volta a Java. O guião. O básico. Esta vai ser uma lição emocionante quando olharmos para o escopo da função. O que é escopo no escopo JavaScript é onde variável é definida. O script Java tem duas scoops variáveis globais e locais que declararam fora da definição de função como uma variável global, e seu valor é acessível e alterável em todo o seu código. Uma variável que tenha declarado dentro de uma definição de função é local e não exposta ao resto do seu código. O resto desta lição e nosso próximo laboratório serão simplesmente desempacotando essa definição. Vamos dar uma olhada em algum código aqui. Nós declaramos uma variável chamada escopo e atribui-lhe o valor da cadeia pública. É uma variável global, que significa que podemos acessá-lo em qualquer lugar do nosso código. Em seguida, temos uma declaração de função com as verificações de nome ir e seu código. Nós não declaramos uma variável local chamada escopo. Ele tem o mesmo nome e nós lhe atribuímos um valor da cadeia privada. Isto significa que só é acessível dentro desta função. Fechamos o bloco de código retornando nosso valor do escopo da variável local. Certo, vamos acessar os dois escopos. Quando procuramos o valor do escopo que não podemos ver dentro de nossa função para o único escopo que vemos é o escopo com o valor de public, que é uma variável global. Se não houvesse variáveis globais de escopo, são interpretador de script Java iria retornar um ar para nós porque o escopo local está oculto. Ele não veria instâncias do escopo da variável. Se queremos pegar o escopo local com o valor de private, nós realmente tem que chamar a função check scope para que possamos ter acesso a sua variável local . Agora vamos olhar para outra seção do código que é quase idêntica. A única diferença é a adição de uma declaração de uma nova variável chamada New Scope, com o valor atribuído da variável global string. Então, dentro da nossa função de escopo Chek, estavam retornando uma matriz do escopo variável e o novo escopo. Então, se procurarmos um novo escopo globalmente, vamos encontrá-lo. Uma vez que temos acesso a todas as variáveis globais, veja o que acontece quando executamos a função de escopo de verificação. Nós começamos a retornar valores da variável local para escopo, mas também a variável global para novo escopo. As crianças têm acesso a tudo o que os pais têm se não tiverem primeiro o recurso . Isso é chamado de cadeia de escopo. Isto é como uma criança não ter dinheiro, mas ter acesso aos pais. Dinheiro. Isto é como uma criança não ter transporte, mas ter acesso aos pais. Transporte. Vamos falar sobre a cadeia de escopo Samore. Quando o script Java precisa procurar um valor de uma variável, ele começa olhando para o primeiro objeto na cadeia, o escopo local e, se ele encontrá-lo, ele usa esse valor. Se uma dúzia ele procura o próximo escopo, ele está contido dentro. Neste caso, é o escopo global. Se o valor não for encontrado dentro do escopo global, ele retornará no ar. Em nosso exemplo, Scope foi capaz de encontrar um valor localmente, então ele o usou, mas teve que mover a cadeia de escopo para o escopo global para encontrar um valor para novo escopo. Vamos ver isto de outra forma. O escopo global não pode olhar para dentro, mas o escopo interno pode olhar para fora. Vamos ir em frente e fechar nossa lição olhando. Mais um exemplo é algo que pulamos em nossa lição variável. É a importância de declarar nossa palavra-chave var quando fazemos nossas variáveis. Vamos olhar para algum código se não declararmos a palavra-chave var são variável é automaticamente uma variável global. Tecnicamente, garganta neste curso. Você declarou suas variáveis sem usar a palavra-chave VAR. Mas é sempre a melhor prática por causa de como o escopo funciona e JavaScript. Vejamos o problema em que podemos nos meter se não usarmos a palavra-chave var. Vamos para nossas linhas originais de código, mas vamos fazer uma. alteração tirará a palavra-chave var do escopo na função de escopo checo. Agora, quando olharmos para o escopo de valor, vamos ficar públicos como esperado. Em seguida, se você executar a função de escopo de verificação, vamos ter a nossa espera garoa de privado o mesmo que antes. Agora, se executarmos o valor do escopo novamente, ele deve estar olhando globalmente, e quando isso acontece, ele retorna private porque nós não usamos a palavra-chave var. Essa função de escopo de verificação faz algo que não esperamos. O valor é um valor global, e temos colisões de nomeação que nos dará resultados inesperados ou indesejados. Uma forma de evitar que isto aconteça é utilizando o modo rigoroso da UE. Infelizmente, você não pode usar isso em seu cônsul como você pode em um editor de texto, mas será importante para você conhecer e para o laboratório. Vou mostrar-lhe um truque para simular isso, usando um duvidoso que vimos em uma lição anterior. Por que o modo estrito modo Strict torna mais fácil para escrever JavaScript seguro, mas alterar anteriormente aceitos sintaxe ruim em realmente erros. É tudo o que temos para esta lição. Obrigado por dar uma primeira olhada no escopo da função comigo, e te vejo no laboratório. 7. Javascript de básico - funções:: Muito bem, bem-vindos de volta ao laboratório. Em nossa lição, analisamos o escopo da função e o JavaScript. O escopo é determinado por onde a variável é definida. Existem dois tipos de escopo, global e local. Em nossa lição, vimos que o escopo local está escondido de nossa globalização. Também vimos que o escopo global não está escondido de nossos olhos locais. Por outras palavras, o âmbito global não pode ter. recurso é do escopo local, mas o escopo local é livre para usar os valores e o recurso é encontrado no escopo global. Isto é o que chamamos de cadeia de escopo. Também demos uma olhada rápida no uso do modo estrito para nos impedir de poluir o nome global . Escopo de espaço é um grande negócio em JavaScript em um fundamental extremamente importante como você se desenvolve com mais complexidade. Então, vamos começar. Vamos em frente e construir uma função juntos, vai declarar uma função e chamá-lo de viagem. Dentro de seu bloco de código Willis duas variáveis galões e defini-lo igual a 12 um M P G mpg, que irá constante igual a 34. Vamos então retornar o valor de galões vezes MPG, em seguida, invocar a nossa função e obter o resultado de 408 Muito simples. Aqui está o seu desafio em nossa lição. Nós conversamos sobre como a cadeia de escopo funciona. Se um escopo filho não tiver um valor dentro de seu escopo, ele poderá procurar um nível para encontrar esse valor. Ele pode continuar fazendo isso até a cadeia de escopo até atingir o escopo global. Se nesse ponto ele ainda não financiar o valor que está procurando, ele retornará um erro. Eu quero que você pegue essas variáveis locais e mova-as para o escopo global. Então voltaremos e encontraremos uma solução juntos. Vá em frente e pause o vídeo. Tudo bem, como ir? Espero que isso não tenha sido problema. Vou apresentar rapidamente uma solução de má prática e segui-la com a solução de melhores práticas. Aqui está o caminho errado. Podemos simplesmente trazer nosso código novamente usando a seta para cima. Se corrermos galões, receberemos um valor de Ember 12 e NPG nos dará o valor do número 34. De lá vamos remover a palavra-chave var de nossas variáveis galões e PG. Lembre-se, se não usarmos o var, palavra-chave são variáveis será automaticamente global. Então, quando você declarar variável pela primeira vez, é sempre a melhor prática usar a palavra-chave var. Portanto, não temos o nosso espaço global de nomes preenchido com conflitos de nomes. Então vamos resolver isso da melhor maneira. Agora é um simples é declarar galões e milhas por galões fora da variável. E se olharmos, podemos ver que temos acesso a eles como variáveis globais. E ainda podemos executar nossa função e subir na cadeia de escopo para pegar esses valores. Ok, eu mencionei como é má prática, não usuário de nossa palavra-chave. Então, vamos evitar os efeitos colaterais negativos que podem vir com a má prática. A solução para isso é o uso, o modo estrito de uso. Isso não funciona muito em nossas ferramentas de desenvolvedor de equipe, como mencionei em nossa lição como seria em um editor de texto, mas podemos simular isso criando um duvidoso e, em seguida, usando o método estrito. Então vamos em frente e embrulhe uma função. E dentro disso, vamos colocar uso rigoroso. Então agora temos este duvidoso e podemos colocar uma variável sem declarar uma palavra-chave vai dizer comida é igual a pizza. Quando executamos esse código, recebemos um erro. Esse alimento não foi definido para ser claro, envolvendo o modo estrito de uso e se ele não é terrivelmente relevante para codificação no mundo real , você não precisa ir para essa medida para implementar o modo estrito em seu editor de texto. Mas é uma ilustração importante no Google Chrome de como você pode não cometer erros simples que podem criar alguns bugs em seu código no mundo real. Ok, então aqui está o nosso grande desafio para as funções aninhadas de laboratório. Não fizemos isso na lição, mas é o mesmo conceito que um escopo local. Estar dentro do escopo global. Eu quero que você crie uma função dentro de uma função, então isso significa que você terá um escopo global dentro de que você terá uma função que você criou e que irá criar um escopo local. Dentro dessa função, você terá outra função, que é uma função aninhada. Eu quero que essa função suba uma cadeia de escopo para pegar valor de seus pais, lidar e, em seguida, subir mais uma vez de cadeia de escopo para o escopo global e pegar um valor. Eu então quero que você execute o código de tal forma que ele chama a função mais interna que pode estourar seu cérebro um pouco, e tudo bem se isso acontecer. Se você não pode encontrar uma solução rapidamente, tudo bem. Sugiro ajustar um temporizador por pelo menos 20 minutos e lutar por ele. Depois disso, tempo se reunirá e analisará uma solução possível. Quero repetir que seu crescimento como desenvolvedor de script Java não virá através da cópia do código de outra pessoa. Há algum benefício nisso, mas o crescimento real está na luta. Vá em frente e pause o vídeo e em alguns momentos vai chegar a uma solução juntos. Tudo bem, vamos em frente e criar uma função aninhada que vai encontrar o volume de algo dois volumes de enxofre. Precisamos ter tempos de comprimento com alturas de tempos. Agora, a solução para isso não é a solução mais eficiente para o volume de financiamento na vida real ou mesmo codificação. É apenas uma prática trabalhando com cadeia de escopo com um ponto de referência que temos em comum encontrar a área de um objeto. Nosso objetivo é fazer com que o escopo filho agarre tanto do escopo pai quanto do global. Então vamos declarar uma variável de escopo global vai chamá-lo de altura e um sinal de um valor de 10. Em seguida, vamos criar o que será que os pais vão lidar. Este será o âmbito a que chamamos. Quando invocamos a função, vamos chamá-la de volume. Dentro disso, colocaremos variáveis locais invisíveis para o escopo global, mas visíveis para o futuro. Escopo filho irá declarar um com variável e atribuir-lhe o número 10 e a variável tardia ascendente no valor 10. Em seguida, irá criar uma expressão de função e irá atribuir-lhe o valor de uma função que será o nosso escopo filho. O bloco de código irá procurar o comprimento, largura e altura dentro de seu escopo local, e ele não vai encontrá-lo. Então ele vai subir a cadeia de escopo e encontrar com e alongar os pais lidar e, em seguida, subir mais um nível da cadeia de escopo para o escopo global para encontrar o valor da altura. Agora, como terminamos esse bloco de código, queremos retornar o valor do volume da variável objeto. Agora, como terminamos esse bloco co, queremos retornar o valor do volume variável do objeto. Desta forma, como chamamos o nosso volume de função, obtemos o nosso valor. Como eu disse em geral e na vida real e revestimento, você nunca vai encontrar volume como este. No entanto, esse escopo exibido, cadeia de escopo e escopos aninhados no trabalho. Obrigado por dar uma primeira olhada comigo no escopo da função e nos veremos em nossa próxima lição.