You are on page 1of 16

INSTITUTO FEDERAL DE EDUCAO CINCIA E TECNOLOGIA

CURSO TCNICO INTEGRADO EM INFORMTICA


CAMPUS CURRAIS NOVOS

Desenvolvimento Web
JavaScript aula IV Funes

Professor: Bruno E. G. Gomes

2013
INTRODUO
Na aula de hoje iremos detalhar o conceito de
funes em JavaScript

Funes permitem dividir o cdigo JavaScript


em mdulos
Dividido em partes menores, reutilizveis

possvel definir uma biblioteca de funes


relacionadas e reutiliz-la em seus programas
FUNES EM JAVASCRIPT
Uma funo define um bloco reutilizvel de
cdigo

Criar funes permite uma melhor organizao


do seu cdigo JavaScript
Cdigo dentro de uma funo no interfere em
cdigos externos
possvel criar uma biblioteca de funes
relacionadas que voc pode reutilizar em seus
diversos scripts

Palavra-chave function define a criao de uma


nova funo
FUNES

Cdigo da funo ser executado de duas formas


Atravs de uma chamada funo dentro de
<script></script>
Por um evento que, quando acionado, ative a
execuo da funo

Variveis locais
Variveis declaradas dentro de funes
Mantm seu valor apenas durante a execuo da
funo
uma boa prtica utilizar somente variveis locais
em funes
DECLARANDO UMA NOVA FUNO
function <nome> ([p1, p2,..., pn])
{
<cdigo da funo>
return [retorno]
}

<nome> - nome da funo;


<cdigo_da_funo> - cdigo a ser executado quando da
chamada funo;
[p1, p2,..., pn] parmetros da funo (opcional). So os
valores que a ela recebe como entrada;
[retorno] valor que a funo retorna como sada (opcional).
palavra-chave return.
EXEMPLOS

function ola ()
{
alert("Hello World!");
}

function soma (a, b)


{
return a + b;
}

OBS.: No caso da funo soma acima, se os argumentos


recebidos pela funo forem Strings, elas sero concatenadas.
EXERCCIO

Faa uma funo par que receba um valor e


retorne verdadeiro (true) se ele for par e falso
(false) se ele for mpar.
EXERCCIO
Implemente em JavaScript a
funo fatorial, que retorna o
fatorial de um nmero inteiro. O
fatorial definido por:
fat (0) = 1
fat (1) = 1
fat (n) = fat (n-1) * n

Receba as entradas da funo de


uma caixa de texto de formulrio e
exiba os resultados tambm em um
formulrio, conforme a figura ao
lado:
FUNES O ARRAY ARGUMENTS
Array arguments:
Outra forma de acessar os valores dos atributos de uma
funo

Mesmo que a funo no receba parmetros na sua


declarao, podemos passar valores a ela e cham-
los com arguments

Uso de arguments pode servir para definir funes


que aceitam qualquer nmero de argumentos
EXEMPLO DO USO DE ARGUMENTS
/* Funo soma_n
* Soma um nmero indefinido de argumentos
*/
function soma_n() {
var soma = 0;
var i = 0;

for (i = 0; i < soma_n.arguments.length; i++) {


soma += soma_n.arguments[i];
}

return soma;
}
EXEMPLO XHTML UTILIZANDO A FUNO SOMA_N
/* Inclui o JavaScript externo (no caso, mat.js) contendo a
definio da funo soma_n.
<head>
...
<script type="text/javascript" src="mat.js">
</script>
/* outra tag script, contendo uma caixa de alerta exibindo o
resultado da soma com vrios argumentos passados
funo. */
<script type="text/javascript">
window.alert(soma_n(3, 4, 5, 6));
</script>
...
<head>
EXERCCIO
Faa uma implementao da funo Math.max
(obviamente, sem usar Math.max), que retorna o
maior nmero de uma lista de nmeros fornecidos
como argumento da funo. Chame a sua funo de
maximo.

Exemplos:
maximo (5, 8, 5.6, 9.9) retorna como resultado 9.9
maximo (3, 2, 1) resulta em 3
PASSAGEM DE PARMETROS
Parmetros pode ser passados para a funo de
duas formas

Por valor
O valor da varivel passada funo copiado no
parmetro
No altera a varivel externa
Valores de tipos primitivos so passados por valor

Por referncia
Um apontador (referncia) para o endereo da
varivel copiado no parmetro
Qualquer alterao por meio do parmetro altera a
varivel externa
Arrays e Objetos so passados por referncia
EXEMPLO PASSAGEM DE PARMETRO
POR REFERNCIA

Declare a funo abaixo em um JavaScript externo.

function addDate(dt, d) {
dt.setDate(dt.getDate() + d);
}
EXEMPLO SCRIPT A SER INSERIDO DENTRO
DO XHTML PARA TESTAR ADDDATE

<script type="text/javascript" src="func-ref.js">


</script>

<script type="text/javascript">
var d = new Date(2010, 7, 9);

document.writeln("<p>" + d + "</p>");
addDate(d, 2);
document.writeln("<p>" + d + "</p>");
</script>
EXERCCIO
Faa uma funo multArray que multiplique
todos os nmeros armazenados em um array por
outro nmero fornecido. O array e o nmero para
multiplic-lo devem ser passados como
parmetros da funo.

OBS.: Para passar um array para a funo preciso


apenas passar o nome do array (sem colchetes)

You might also like