SlideShare uma empresa Scribd logo
JavaScript: Subalgoritmos (cont) e scope
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 11, 24-10-2012
Funções: exemplo 4b - e agora?
 <head>
   <script language="javascript" type="application/javascript">
      function incValores(a, b) //Declaração da função
      {
        a++;
        b++;
        alert(a + “ “ + b); // ??
      }
   </script>
 </head>
 <body>
   <script language="javascript" type="application/javascript">
     var a = 4;
     var b = 8;
     alert(a + “ “ + b); // ??
     incValores(a, b);
      alert(a + “ “ + b); // ??
   </script>
 </body>
Funções: exemplo 5 - retornar um valor
 <head>
   <script language="javascript" type="application/javascript">
      function factorial(num) //Declaração da função
      {
        var cont = 0;
        var resultado = 1;
        for ( cont = num; cont >= 1; cont-- )
        {
           resultado *= cont;
         }
         return resultado;
     }
   </script>
 </head>
 <body>
   <script language="javascript" type="application/javascript">
      alert(factorial(parseInt(prompt("Número inteiro?",0)))); // ??
   </script>
 </body>
Funções: exemplo 3b - qual o resultado?
 <head>
   <script language="javascript" type="application/javascript">
      function helloPeople(name) //Declaração da função
      {
        alert(name);
      }
      // qual o valor de “name” neste ponto?
   </script>
 </head>
 <body>
   <script language="javascript" type="application/javascript">
      helloPeople(“Manel”);
   </script>
 </body>
Visibilidade das variáveis/objetos: scope

• Cada instrução de um script é executada num determinado contexto de
  execução...

  • um contexto de execução é uma área fechada com propriedades
    específicas...

     • qualquer identificador utilizado refere-se preferencialmente às variáveis/
       objetos locais...

        • se esse identificador não é encontrado então saímos do contexto de
          execução atual e vamos procurar no contexto “pai”...

           • até atingir o nível global da aplicação.
Visibilidade/scope: exemplo (1)

<script type="text/javascript">
    var ima_celebrity = "Everyone can see me! I'm famous!",
   the_president = "I'm the decider!";
 
  function pleasantville() {
       var the_mayor = "I rule Pleasantville with an iron fist!",
        ima_celebrity = "All my neighbors know who I am!";
 
       function lonely_house() {
          var agoraphobic = "I fear the day star!",
           a_cat = "Meow.";
  }
 }
</script>



                    Exemplo retirado de: http://www.digital-web.com/articles/scope_in_javascript/
Visibilidade/scope: exemplo (resultados?)
Visibilidade/scope: exemplo (solução)

Mais conteúdo relacionado

PDF
T11_LM3: Subalgoritmose colisões (2013-2014)
PDF
LabMM3 - Aula teórica 09
ODP
Aula05-JavaScript
ODP
Aula03 - JavaScript
ODP
tmn - Introdução ao JavaScript
PPT
Aula javascript
PDF
JavaScript Model-View no Frontend
PDF
Backbone.js + Rails - Front-end e back-end conectados
T11_LM3: Subalgoritmose colisões (2013-2014)
LabMM3 - Aula teórica 09
Aula05-JavaScript
Aula03 - JavaScript
tmn - Introdução ao JavaScript
Aula javascript
JavaScript Model-View no Frontend
Backbone.js + Rails - Front-end e back-end conectados

Mais procurados (20)

PDF
Javascript Ilegível
ODP
Aula06 - JavaScript
PDF
(A06) LabMM3 - JavaScript
PDF
Zend Framework
PDF
Php5 e a orientação a objetos
PPTX
Iniciando com javaScript 2017
PPTX
JavaFX SestInfo 2010
PDF
LabMM3 - Aula teórica 06
PDF
Javascript aula 01 - visão geral
ODP
Testes Unitarios Com PostgreSQL
PPTX
Desvendando a linguagem JavaScript
PDF
Backbone.js
PDF
Dependency injection WTF? - PHPSC Conference 2012
PPT
Tutorial Dwr - Combos Dependentes
PPTX
Javascript Avançado
PPTX
Clean Code
PDF
Palestra Desenvolvimento Ágil para Web com ROR UVA
PDF
Aprendendo objective c - parte 1
PDF
Curso javascript básico
PPTX
Testes de integração em microservices
Javascript Ilegível
Aula06 - JavaScript
(A06) LabMM3 - JavaScript
Zend Framework
Php5 e a orientação a objetos
Iniciando com javaScript 2017
JavaFX SestInfo 2010
LabMM3 - Aula teórica 06
Javascript aula 01 - visão geral
Testes Unitarios Com PostgreSQL
Desvendando a linguagem JavaScript
Backbone.js
Dependency injection WTF? - PHPSC Conference 2012
Tutorial Dwr - Combos Dependentes
Javascript Avançado
Clean Code
Palestra Desenvolvimento Ágil para Web com ROR UVA
Aprendendo objective c - parte 1
Curso javascript básico
Testes de integração em microservices
Anúncio

Destaque (6)

PPTX
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
PPT
Logica Algoritmo 08 Recursividade
PDF
Recursividade
PDF
LabMM4 (T12 - 12/13) - Estruturas de controlo
PPT
Algoritmos 0 - apresentação
PPT
Material de Apoio de Algoritmo e Lógica de Programação
Algoritmos 01 - Semana 07 - Exercícios Múltipla Escolha
Logica Algoritmo 08 Recursividade
Recursividade
LabMM4 (T12 - 12/13) - Estruturas de controlo
Algoritmos 0 - apresentação
Material de Apoio de Algoritmo e Lógica de Programação
Anúncio

Semelhante a (A11) LabMM3 - JavaScript - Subalgoritmos e scope (20)

PPT
Javascript não é Java+Script (TDC Floripa 2012)
PDF
Java script aula 05 - funções
PDF
Código limpo e eficiente com JavaScript
PDF
Introdução a JavaScript
PDF
(A10) LabMM3 - JavaScript - Subalgoritmos
PPTX
Programacao funcional
PDF
Introdução à MEAN Stack
PDF
Java script - funções
PPTX
Introdução ao JS1.pptx
PPTX
Javascript
PPTX
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
PPTX
Javascript basics
PDF
JavaScript
PPTX
JavaScript "for dummies"
PPTX
Javascript avançado
PDF
PPTX
Javascript para CSharpers 2 - Functions
PDF
Evolução e futuro do uso de paradigmas no JavaScript
PDF
T10_LM3: Subalgoritmos/funções (2013-2014)
PDF
A explosão do Node.js: JavaScript é o novo preto
Javascript não é Java+Script (TDC Floripa 2012)
Java script aula 05 - funções
Código limpo e eficiente com JavaScript
Introdução a JavaScript
(A10) LabMM3 - JavaScript - Subalgoritmos
Programacao funcional
Introdução à MEAN Stack
Java script - funções
Introdução ao JS1.pptx
Javascript
JAVASCRIT – Welcome the web world Arquivo: java-script-basico-unipac-extra-v0...
Javascript basics
JavaScript
JavaScript "for dummies"
Javascript avançado
Javascript para CSharpers 2 - Functions
Evolução e futuro do uso de paradigmas no JavaScript
T10_LM3: Subalgoritmos/funções (2013-2014)
A explosão do Node.js: JavaScript é o novo preto

Mais de Carlos Santos (20)

PDF
Modelo de CBL transversal ao 1º ano do ciclo de estudos do Mestrado em Comuni...
PPTX
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
PPTX
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
PDF
Is AI the Spice of our future?
PPTX
Mentoria entre pares de estudantes para estudantes
PDF
1º Encontro Científico TCEdu
PDF
Tecnologias da Comunicação em Educação 2018: Aula inicial
PPTX
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
PDF
AVILA Crew – Uma experiência de tutoria de alunos para alunos
PDF
chmod 777 education
PPTX
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
PDF
Tecnologias da Comunicação em Educação: trabalho prático
PPTX
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
PDF
chmod 777 education
PDF
SAPO Campus towards a
 Smart Learning Environment
PDF
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
PDF
A technological approach to Open and Social Learning: 
the SAPO Campus project
PDF
SAPO Campus: Gamification em contexto educativo
PDF
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
PDF
T20_LM3: APIs e Scoreoid
Modelo de CBL transversal ao 1º ano do ciclo de estudos do Mestrado em Comuni...
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
Dataficação no Ensino Superior: Reflexões sobre Ética, Impacto e Transformaç...
Is AI the Spice of our future?
Mentoria entre pares de estudantes para estudantes
1º Encontro Científico TCEdu
Tecnologias da Comunicação em Educação 2018: Aula inicial
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
chmod 777 education
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Tecnologias da Comunicação em Educação: trabalho prático
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
chmod 777 education
SAPO Campus towards a
 Smart Learning Environment
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
A technological approach to Open and Social Learning: 
the SAPO Campus project
SAPO Campus: Gamification em contexto educativo
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
T20_LM3: APIs e Scoreoid

Último (20)

PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PPTX
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
PDF
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
PPTX
Pedagogia em Ambientes Não Escolares.pptx
PPTX
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
PDF
CARTÕES DIA DOS ESTUDANTES MORANGO DO AMOR.pdf
PDF
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
PDF
A provisão de jojuador (ramadã) islamismo
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PDF
A Revolução Francesa de 1789 slides história
PDF
Cantores.pdf-Deslandes, Tinoco e Zambujo
PDF
Ementa 2 semestre PEI Orientação de estudo
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PDF
embriologia_animal_aula_share_2026_semestre
PPTX
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
PPT
aula de envelecimento.ppt saúde do idoso
PPT
sistema reprodutor para turmas do oitavo ano
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PDF
O retorno a origem (islã Islamismo)
PPTX
435434725-A-Mineracao-No-Brasil-Colonial.pptx
Revolução Industrial - Aula Expositiva - 3U4.pptx
ACIDOS NUCLEICOS - REPLICAÇÃO DO DNA - E.M.
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
Pedagogia em Ambientes Não Escolares.pptx
TREINAMENTO DE INSPETOR DE ANDAIMES.pptx
CARTÕES DIA DOS ESTUDANTES MORANGO DO AMOR.pdf
COMO OS CONTOS DE FADAS REFLETEM ARQUÉTIPOS_MEDOS E DESEJOS DO INCONSCIENTE H...
A provisão de jojuador (ramadã) islamismo
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
A Revolução Francesa de 1789 slides história
Cantores.pdf-Deslandes, Tinoco e Zambujo
Ementa 2 semestre PEI Orientação de estudo
Realismo e Naturalismo: Aluísio Azevedo.
embriologia_animal_aula_share_2026_semestre
ELEMENTOS E FUNÇÕES DE LINGUAGEM (EMOTIVA, REFERENCIAL, CONATIVA, POÉTICA, FÁ...
aula de envelecimento.ppt saúde do idoso
sistema reprodutor para turmas do oitavo ano
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
O retorno a origem (islã Islamismo)
435434725-A-Mineracao-No-Brasil-Colonial.pptx

(A11) LabMM3 - JavaScript - Subalgoritmos e scope

  • 1. JavaScript: Subalgoritmos (cont) e scope Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 11, 24-10-2012
  • 2. Funções: exemplo 4b - e agora? <head> <script language="javascript" type="application/javascript"> function incValores(a, b) //Declaração da função { a++; b++; alert(a + “ “ + b); // ?? } </script> </head> <body> <script language="javascript" type="application/javascript"> var a = 4; var b = 8; alert(a + “ “ + b); // ?? incValores(a, b); alert(a + “ “ + b); // ?? </script> </body>
  • 3. Funções: exemplo 5 - retornar um valor <head> <script language="javascript" type="application/javascript"> function factorial(num) //Declaração da função { var cont = 0; var resultado = 1; for ( cont = num; cont >= 1; cont-- ) { resultado *= cont; } return resultado; } </script> </head> <body> <script language="javascript" type="application/javascript"> alert(factorial(parseInt(prompt("Número inteiro?",0)))); // ?? </script> </body>
  • 4. Funções: exemplo 3b - qual o resultado? <head> <script language="javascript" type="application/javascript"> function helloPeople(name) //Declaração da função { alert(name); } // qual o valor de “name” neste ponto? </script> </head> <body> <script language="javascript" type="application/javascript"> helloPeople(“Manel”); </script> </body>
  • 5. Visibilidade das variáveis/objetos: scope • Cada instrução de um script é executada num determinado contexto de execução... • um contexto de execução é uma área fechada com propriedades específicas... • qualquer identificador utilizado refere-se preferencialmente às variáveis/ objetos locais... • se esse identificador não é encontrado então saímos do contexto de execução atual e vamos procurar no contexto “pai”... • até atingir o nível global da aplicação.
  • 6. Visibilidade/scope: exemplo (1) <script type="text/javascript"> var ima_celebrity = "Everyone can see me! I'm famous!",    the_president = "I'm the decider!";     function pleasantville() {    var the_mayor = "I rule Pleasantville with an iron fist!",     ima_celebrity = "All my neighbors know who I am!";   function lonely_house() {     var agoraphobic = "I fear the day star!",      a_cat = "Meow.";   }  } </script> Exemplo retirado de: http://www.digital-web.com/articles/scope_in_javascript/