SlideShare uma empresa Scribd logo
1 de 14
Baixar para ler offline
JavaScript: Subalgoritmos, parâmetros e
visibilidade
Carlos Santos
LabMM 3 - NTC - DeCA - UA
Aula 09, 13-10-2011
Parâmetros de uma função

• Parâmetros de entrada

  • definem o “protocolo” de comunicação com uma função, ou seja,
    explicitam os dados que a função precisa para que possa atingir o seu
    objetivo;

  • não há um limite formal ao número de parâmetros de uma função;
  • na declaração são separados por vírgula;
  • podem ser de qualquer tipo de dados.

• Parâmetro de saída

  • é o valor devolvido pela função no final da sua execução;

  • return valorDevolvido;
  • após um return, o código seguinte da função não é executado!
Funções: exemplo 2
 <head>
   <script language="javascript" type="application/javascript">
      function helloWorld() //Declaração da função
      {
        return true; //Qual o resultado da execução desta função?
        alert("Hello World!");
     }
   </script>
 </head>
 <body>
   <script language="javascript" type="application/javascript">
     helloWorld();
   </script>
 </body>
Funções: exemplo 3
 <head>
   <script language="javascript" type="application/javascript">
      function helloPeople(name) //Declaração da função
      {
        alert(name);
      }
   </script>
 </head>
 <body>
   <script language="javascript" type="application/javascript">
     helloPeople(“Manel”);
   </script>
 </body>
Parâmetros: como funcionam?
 // Na invocação das funções temos valores,
 // ou seja, a lista dos valores que queremos passar para a função
 nomeFunção (valor0, valor1,..., valorN);




 // Na declaração da função definimos os parâmetros.
 // Na sua execução, os parâmetros são transformados em variáveis da função.
 // Cada parâmetro é inicializado com o valor passado na respetiva posição.
 function nomeFunção(param0, param1,..., paramN)
 {
     // código da função
     // por exemplo, aqui, “param0” é uma variável cujo valor inicial é “valor0”
 }
Funções: exemplo 3 - passagem de parâmetros
 <head>
   <script language="javascript" type="application/javascript">
      function helloPeople(name) //Declaração da função
      {
        alert(name);
      }                     nesta invocação da função, ao parâmetro
   </script>                 “name” é atribuído o valor inicial “Manel”
 </head>
 <body>
   <script language="javascript" type="application/javascript">
     helloPeople(“Manel”);
   </script>
 </body>
Funções: exemplo 4 - qual o resultado?
 <head>
   <script language="javascript" type="application/javascript">
      function incValores(x, y) //Declaração da função
      {
        x++;
        y++;
         alert(x + “ “ + y); // ??
     }
   </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 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

Mais procurados

LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08
Carlos Santos
 

Mais procurados (20)

Php 05 Mvc
Php 05 MvcPhp 05 Mvc
Php 05 Mvc
 
Debugging tips and tricks
Debugging tips and tricksDebugging tips and tricks
Debugging tips and tricks
 
DevTalk Zoox 04/2016
DevTalk Zoox 04/2016DevTalk Zoox 04/2016
DevTalk Zoox 04/2016
 
Aula 4 php
Aula 4 phpAula 4 php
Aula 4 php
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Apresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael FelixApresentacao TCC - Rafael Felix
Apresentacao TCC - Rafael Felix
 
Slides
SlidesSlides
Slides
 
Zend Framework
Zend FrameworkZend Framework
Zend Framework
 
Testando Rails apps com RSpec
Testando Rails apps com RSpecTestando Rails apps com RSpec
Testando Rails apps com RSpec
 
Aprendendo objective c - parte 1
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
 
PHP Day - PHP para iniciantes
PHP Day - PHP para iniciantesPHP Day - PHP para iniciantes
PHP Day - PHP para iniciantes
 
Behavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on RailsBehavior Driven Development com Ruby on Rails
Behavior Driven Development com Ruby on Rails
 
Introdução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites IIIntrodução ao PHP - Criação de sites II
Introdução ao PHP - Criação de sites II
 
Minicurso Objective-C
Minicurso Objective-CMinicurso Objective-C
Minicurso Objective-C
 
Testes Unitarios Com PostgreSQL
Testes Unitarios Com PostgreSQLTestes Unitarios Com PostgreSQL
Testes Unitarios Com PostgreSQL
 
Php básico
Php básicoPhp básico
Php básico
 
Criando APIs com Node e TypeScript
Criando APIs com Node e TypeScriptCriando APIs com Node e TypeScript
Criando APIs com Node e TypeScript
 
Meet up teste api htt-party cucumber
Meet up   teste api htt-party cucumberMeet up   teste api htt-party cucumber
Meet up teste api htt-party cucumber
 
2ª aula php
2ª aula php2ª aula php
2ª aula php
 
LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08LabMM3 - Aula teórica 08
LabMM3 - Aula teórica 08
 

Destaque

Caelum html-css-javascript-php
Caelum html-css-javascript-phpCaelum html-css-javascript-php
Caelum html-css-javascript-php
Lindomar ...
 
HTML5 - Tags semânticas
HTML5 - Tags semânticasHTML5 - Tags semânticas
HTML5 - Tags semânticas
Thiago Alvernaz
 

Destaque (16)

CSS3 - Novo contexto
CSS3 - Novo contextoCSS3 - Novo contexto
CSS3 - Novo contexto
 
Caelum html-css-javascript-php
Caelum html-css-javascript-phpCaelum html-css-javascript-php
Caelum html-css-javascript-php
 
Curso HTML e CSS Part2
Curso HTML e CSS Part2Curso HTML e CSS Part2
Curso HTML e CSS Part2
 
HTML5 - Tags semânticas
HTML5 - Tags semânticasHTML5 - Tags semânticas
HTML5 - Tags semânticas
 
Javascript
JavascriptJavascript
Javascript
 
Aula 07 Css - Parte 1
Aula 07   Css - Parte 1Aula 07   Css - Parte 1
Aula 07 Css - Parte 1
 
JavaScript e JQuery para Webdesigners
JavaScript e JQuery para WebdesignersJavaScript e JQuery para Webdesigners
JavaScript e JQuery para Webdesigners
 
A verdadeira semântica do HTML
A verdadeira semântica do HTMLA verdadeira semântica do HTML
A verdadeira semântica do HTML
 
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGNCSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
CSS NA PRÁTICA PARA ALUNOS DE WEBDESIGN
 
Curso HTML e CSS Part1
Curso HTML e CSS Part1Curso HTML e CSS Part1
Curso HTML e CSS Part1
 
Introdução a HTML, CSS, JS, Ajax
Introdução a HTML, CSS, JS, AjaxIntrodução a HTML, CSS, JS, Ajax
Introdução a HTML, CSS, JS, Ajax
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Construindo layout de sites com CSS
Construindo layout de sites com CSSConstruindo layout de sites com CSS
Construindo layout de sites com CSS
 
Construindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de BalasConstruindo uma Aplicação PHP à Prova de Balas
Construindo uma Aplicação PHP à Prova de Balas
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
PHP e MySQL para iniciantes
PHP e MySQL para iniciantesPHP e MySQL para iniciantes
PHP e MySQL para iniciantes
 

Semelhante a LabMM3 - Aula teórica 09

(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
Carlos Santos
 
T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)
Carlos Santos
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
Sérgio Souza Costa
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - Funções
Carlos Santos
 

Semelhante a LabMM3 - Aula teórica 09 (20)

(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos(A10) LabMM3 - JavaScript - Subalgoritmos
(A10) LabMM3 - JavaScript - Subalgoritmos
 
Java script - funções
Java script - funçõesJava script - funções
Java script - funções
 
T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)T10_LM3: Subalgoritmos/funções (2013-2014)
T10_LM3: Subalgoritmos/funções (2013-2014)
 
Evento Front End SP - Organizando o Javascript
 Evento Front End SP - Organizando o Javascript Evento Front End SP - Organizando o Javascript
Evento Front End SP - Organizando o Javascript
 
PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX PHP: Linguagem + Mysql + MVC + AJAX
PHP: Linguagem + Mysql + MVC + AJAX
 
LabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - FunçõesLabMM4 (T13 - 12/13) - Funções
LabMM4 (T13 - 12/13) - Funções
 
PHP 5.3 - Funções
PHP 5.3 - FunçõesPHP 5.3 - Funções
PHP 5.3 - Funções
 
Javascript
JavascriptJavascript
Javascript
 
Javascript Avançado
Javascript AvançadoJavascript Avançado
Javascript Avançado
 
Java script1
Java script1Java script1
Java script1
 
JavaScript - De verdade
JavaScript - De verdadeJavaScript - De verdade
JavaScript - De verdade
 
JavaScript - A Linguagem
JavaScript - A LinguagemJavaScript - A Linguagem
JavaScript - A Linguagem
 
Ajax em java
Ajax em javaAjax em java
Ajax em java
 
Funções PHP - Criação de sites II
Funções PHP - Criação de sites II Funções PHP - Criação de sites II
Funções PHP - Criação de sites II
 
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)Curso Desenvolvimento WEB com PHP - PHP (parte 1)
Curso Desenvolvimento WEB com PHP - PHP (parte 1)
 
Funcao PHP
Funcao PHPFuncao PHP
Funcao PHP
 
Introdução a JavaScript
Introdução a JavaScriptIntrodução a JavaScript
Introdução a JavaScript
 
04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf04_Introducao_JavaScript.pdf
04_Introducao_JavaScript.pdf
 
Aula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites IIAula 5 PHP - Criação de sites II
Aula 5 PHP - Criação de sites II
 
Realtime com node.js e socket.io
Realtime com node.js e socket.ioRealtime com node.js e socket.io
Realtime com node.js e socket.io
 

Mais de Carlos Santos

AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
Carlos Santos
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
Carlos Santos
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
Carlos Santos
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
Carlos Santos
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
Carlos Santos
 

Mais de Carlos Santos (20)

Is AI the Spice of our future?
Is AI the Spice of our future?Is AI the Spice of our future?
Is AI the Spice of our future?
 
Mentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantesMentoria entre pares de estudantes para estudantes
Mentoria entre pares de estudantes para estudantes
 
1º Encontro Científico TCEdu
1º Encontro Científico TCEdu1º Encontro Científico TCEdu
1º Encontro Científico TCEdu
 
Tecnologias da Comunicação em Educação 2018: Aula inicial
Tecnologias da Comunicação em Educação 2018: Aula inicialTecnologias da Comunicação em Educação 2018: Aula inicial
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 (com jogos) de alunos para alunosAVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
AVILA Crew - Uma experiência de tutoria (com jogos) de alunos para alunos
 
AVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunosAVILA Crew – Uma experiência de tutoria de alunos para alunos
AVILA Crew – Uma experiência de tutoria de alunos para alunos
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
Mestrado em Comunicação Multimédia da Universidade de Aveiro - Sessão de acol...
 
Tecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho práticoTecnologias da Comunicação em Educação: trabalho prático
Tecnologias da Comunicação em Educação: trabalho prático
 
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
Sessão de acolhimento do MCMM da Universidade de Aveiro (2016/2017)
 
chmod 777 education
chmod 777 educationchmod 777 education
chmod 777 education
 
SAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning EnvironmentSAPO Campus towards a
 Smart Learning Environment
SAPO Campus towards a
 Smart Learning Environment
 
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO CampusRepensar a tecnologia em contexto educativo: o caso do SAPO Campus
Repensar a tecnologia em contexto educativo: o caso do SAPO Campus
 
A technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus projectA technological approach to Open and Social Learning: 
the SAPO Campus project
A technological approach to Open and Social Learning: 
the SAPO Campus project
 
SAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativoSAPO Campus: Gamification em contexto educativo
SAPO Campus: Gamification em contexto educativo
 
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCARepensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
Repensar a tecnologia em contextos educativos: o SAPO Campus no DeCA
 
T20_LM3: APIs e Scoreoid
T20_LM3: APIs e ScoreoidT20_LM3: APIs e Scoreoid
T20_LM3: APIs e Scoreoid
 
T19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificaçãoT19_LM3: Projeto final e documentação de planificação
T19_LM3: Projeto final e documentação de planificação
 
T18_LM3: Ajax
T18_LM3: AjaxT18_LM3: Ajax
T18_LM3: Ajax
 
T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)T17_LM3: Erros/Debug (2013-2014)
T17_LM3: Erros/Debug (2013-2014)
 

Último

2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
LeloIurk1
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
LeloIurk1
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
CleidianeCarvalhoPer
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
HELENO FAVACHO
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
WagnerCamposCEA
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
LeloIurk1
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
LusGlissonGud
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
Ana Lemos
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
azulassessoria9
 

Último (20)

2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
2° ANO - ENSINO FUNDAMENTAL ENSINO RELIGIOSO
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdfPROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
PROJETO DE EXTENÇÃO - GESTÃO DE RECURSOS HUMANOS.pdf
 
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia TecnologiaPROJETO DE EXTENSÃO I - Radiologia Tecnologia
PROJETO DE EXTENSÃO I - Radiologia Tecnologia
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
matematica aula didatica prática e tecni
matematica aula didatica prática e tecnimatematica aula didatica prática e tecni
matematica aula didatica prática e tecni
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
PROJETO DE EXTENSÃO I - TECNOLOGIA DA INFORMAÇÃO Relatório Final de Atividade...
 
atividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdfatividades_reforço_4°ano_231206_132728.pdf
atividades_reforço_4°ano_231206_132728.pdf
 
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdfReta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
Reta Final - CNU - Gestão Governamental - Prof. Stefan Fantini.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Apresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptxApresentação em Powerpoint do Bioma Catinga.pptx
Apresentação em Powerpoint do Bioma Catinga.pptx
 
A QUATRO MÃOS - MARILDA CASTANHA . pdf
A QUATRO MÃOS  -  MARILDA CASTANHA . pdfA QUATRO MÃOS  -  MARILDA CASTANHA . pdf
A QUATRO MÃOS - MARILDA CASTANHA . pdf
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdfCurrículo - Ícaro Kleisson - Tutor acadêmico.pdf
Currículo - Ícaro Kleisson - Tutor acadêmico.pdf
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: COMUNICAÇÃO ASSERTIVA E INTERPESS...
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 

LabMM3 - Aula teórica 09

  • 1. JavaScript: Subalgoritmos, parâmetros e visibilidade Carlos Santos LabMM 3 - NTC - DeCA - UA Aula 09, 13-10-2011
  • 2. Parâmetros de uma função • Parâmetros de entrada • definem o “protocolo” de comunicação com uma função, ou seja, explicitam os dados que a função precisa para que possa atingir o seu objetivo; • não há um limite formal ao número de parâmetros de uma função; • na declaração são separados por vírgula; • podem ser de qualquer tipo de dados. • Parâmetro de saída • é o valor devolvido pela função no final da sua execução; • return valorDevolvido; • após um return, o código seguinte da função não é executado!
  • 3. Funções: exemplo 2 <head> <script language="javascript" type="application/javascript"> function helloWorld() //Declaração da função { return true; //Qual o resultado da execução desta função? alert("Hello World!"); } </script> </head> <body> <script language="javascript" type="application/javascript"> helloWorld(); </script> </body>
  • 4. Funções: exemplo 3 <head> <script language="javascript" type="application/javascript"> function helloPeople(name) //Declaração da função { alert(name); } </script> </head> <body> <script language="javascript" type="application/javascript"> helloPeople(“Manel”); </script> </body>
  • 5. Parâmetros: como funcionam? // Na invocação das funções temos valores, // ou seja, a lista dos valores que queremos passar para a função nomeFunção (valor0, valor1,..., valorN); // Na declaração da função definimos os parâmetros. // Na sua execução, os parâmetros são transformados em variáveis da função. // Cada parâmetro é inicializado com o valor passado na respetiva posição. function nomeFunção(param0, param1,..., paramN) { // código da função // por exemplo, aqui, “param0” é uma variável cujo valor inicial é “valor0” }
  • 6. Funções: exemplo 3 - passagem de parâmetros <head> <script language="javascript" type="application/javascript"> function helloPeople(name) //Declaração da função { alert(name); } nesta invocação da função, ao parâmetro </script> “name” é atribuído o valor inicial “Manel” </head> <body> <script language="javascript" type="application/javascript"> helloPeople(“Manel”); </script> </body>
  • 7. Funções: exemplo 4 - qual o resultado? <head> <script language="javascript" type="application/javascript"> function incValores(x, y) //Declaração da função { x++; y++; alert(x + “ “ + y); // ?? } </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>
  • 8. 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>
  • 9. 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>
  • 10. 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>
  • 11. 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.
  • 12. 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/