Informática Numaboa - Tutoriais e Programação

Tutorial Javascript III

Sab

14

Out

2006


11:44

  • Imprimir
(16 votos, média 4.19 de 5) 


Iniciantes Para fechar o ciclo de tutoriais para iniciantes, o Tutorial Javascript III vai tratar de condições, de loops e de funções.

Condição IF

A condição IF checa se uma determinada condição é verdadeira ou falsa. Se a condição analisada for verdadeira, as declarações dentro do primeiro conjunto de chaves será executado. Se a condição for falsa, a próxima será analisada e assim sucessivamente.

A sintaxe da condição IF

IF (condição) { declaração 1 } ELSE IF (condição alternativa) { declaração 2 } ELSE { declaração 3 }

A tradução de IF é SE e a de ELSE é CASO CONTRÁRIO. A sintaxe mostrada acima pode ser traduzida por SE(condição) for verdadeira então { declaração 1 }, CASO CONTRÁRIO SE(condição alternativa) for verdadeira então { declaração 2 }, CASO CONTRÁRIO { declaração 3 }. Numa condição IF os membros ELSE IF e ELSE não são obrigatórios, apenas complementam e ampliam as potencialidades de análise de condições. Vamos a alguns exemplos para deixar mais clara a aplicação desta condição. Aproveite e use o ScriptBox para testar quantas condições IF quiser.

Exemplo simples

var cor = "vermelho"; if (cor == "vermelho") { alert("A cor é " + cor); }

Neste exemplo mais simples existe apenas uma condição IF que testa o valor da variável cor. Caso o valor desta variável seja a string vermelho, então as declarações entre as chaves são executadas; se a condição for falsa, as declarações entre as chaves não serão executadas.

Como existe apenas uma declaração entre as chaves, podemos dispensar as chaves - é o único caso em que podemos fazer isto - ou seja, o código abaixo é equivalente ao mostrado acima.

atencao As chaves funcionam como delimitadores. É por este motivo que, após uma chave de fechamento NUNCA se coloca o delimitador ponto e vírgula (;), ou seja, { alert("A cor é " + cor); }; está errado. Outra coisa: apenas declarações ficam entre chaves, condições IF ficam entre parênteses.

var cor = "vermelho"; if (cor == "vermelho") alert("A cor é " + cor);

ScriptBox

Exemplo IF/ELSE

Podemos solicitar que o usuário forneça um valor qualquer e depois mostrar o resultado da escolha usando IF/ELSE. Por exemplo:

var escolha = prompt("Para falar com João, digite 1.\nPara falar com Maria, digite 2. \nPara falar com Pedro, digite 3"); if (escolha == 1) alert("Aguarde. João vai atendê-lo num instante."); else if (escolha == 2) alert("Aguarde. Maria vai atendê-lo num instante."); else if (escolha == 3) alert("Aguarde. Pedro vai atendê-lo num instante.");

Observe duas coisas neste código. A primeira é que, se o usuário digitar um número diferente de 1, 2 ou 3, nada vai acontecer porque esta condição não foi prevista. A segunda está na primeira linha de código: ela contém um troço diferente que não aparece nas caixas de diálogo, o conjunto \n. Uma barra invertida (\) dentro de uma string indica que o próximo caracter será o que se chama de caracter de escape. Caracteres de escape são interpretados como sinalizadores especiais. Neste caso, \n indica que deve ocorrer uma quebra de linha no ponto em que ele se encontra.

ScriptBox

Exemplo completo

var escolha = prompt("Para falar com João, digite 1.\nPara falar com Maria, digite 2. \nPara falar Pedro, digite 3"); if (escolha == 1) alert("Aguarde. João vai atendê-lo num instante."); else if (escolha == 2) alert("Aguarde. Maria vai atendê-lo num instante."); else if (escolha == 3) alert("Aguarde. Pedro vai atendê-lo num instante."); else alert("Você digitou o número do Lula. \n Assim que o aerolula pousar o presidente vai atendê-lo.");

ScriptBox


Condição SWITCH

A condição SWITCH é um caso especial da condição IF, muito prática quando uma variável pode ter vários valores.

A sintaxe de SWITCH

switch (VARIÁVEL) { case CONDIÇÃO: DECLARAÇÃO; break; case CONDIÇÃO: DECLARAÇÃO; break; case CONDIÇÃO: DECLARAÇÃO; break; default: DECLARAÇÃO; }

Exemplo de SWITCH

SWITCH é ótimo para substituir uma série de IF/ELSE IF quando apenas uma variável indica a condição. No exemplo da condição IF usamos o "digite 1 para falar com João", "digite 2 para falar com Maria" e assim por diante. Este exemplo pode ser transformado no seguinte código:

var escolha = prompt("Para falar com João, digite 1.\nPara falar com Maria, digite 2. \nPara falar com Pedro, digite 3."); switch(escolha) { case 1: alert("Aguarde. João vai atendê-lo num instante."); case 2: alert("Aguarde. Maria vai atendê-lo num instante."); case 3: alert("Aguarde. Pedro vai atendê-lo num instante."); default: alert("Você digitou o número do Alckmin. \nNo momento ele está ocupado com a campanha."); }

Observe que a declaração default é executada quando nenhuma das condições anteriores é válida. Experimente o script no ScriptBox:

ScriptBox

Loop FOR

Quando um conjunto de instruções precisar ser repetido várias vezes, o loop FOR é o controle de fluxo mais usado. Inicia-se este loop atribuindo-se um valor predefinido a uma determinada variável. A execução do bloco de código dentro do loop será executado enquanto a condição indicada for verdadeira. A cada passo do loop, a variável recebe um novo valor.

Xiii, falei, falei, mas a explicação ficou capenga. O melhor é tentar explicar o funcionamento de um loop FOR através de um exemplo.

Exemplo de loop FOR

Veja como é possível realizar a soma de uma sequência de números:

var ini = parseInt(prompt("Valor inicial")); var fim = parseInt(prompt("Valor final")); if( ini > fim ) { alert("O valor final precisa ser maior do que o valor inicial"); } else { var soma = 0; for(i=ini; i<=fim; i++) { soma = soma + i; } alert("A soma de " + ini + " a " + fim + " é " + soma); }

O loop FOR está destacado em azul. Usamos a variável i como variável de controle. No primeiro parâmetro do loop FOR declaramos a variável i e lhe atribuímos o valor de ini (mais sobre ini e fim logo a seguir). O segundo parâmetro é a condição que foi definida como i <= fim. O terceiro parâmetro indica o que deve acontecer com a variável i a cada passada do loop. Neste exemplo, i deve ser incrementado.

Indicadas as condições, o loop será repetido enquanto o valor de i for menor ou igual a fim.

Para obter o valor inicial e final usamos o já conhecido prompt. Acontece que o prompt retorna uma string, o que nos impede de fazer a soma dos valores. Para transformar as strings em valores inteiros foi usada a função parseInt(). Faça a experiência no ScriptBox tirando parseInt: o resultado de ini=1 e fim=5 será 12345. Com parseInt o resultado será 15.

ScriptBox

Loop WHILE

O loop while é um loop FOR simplificado. Enquanto a condição indicada como parâmetro for válida, o loop é realizado. Por exemplo:

var i = 0; while( i < 5 ) { alert(i); i++; }

atencao Cuidado para NÃO ESQUECER de atualizar a variável de controle dentro do loop. Se isto não for feito, não tem como sair do loop e seu script "pendura" - é o chamado loop infinito.


Funções

A linguagem JavaScript oferece muitas funções prontinhas para serem usadas, e mais: deixa você criar suas próprias funções.

Quando determinado bloco de instruções é repetido em diversos pontos diferentes de um script, o melhor a fazer é separar este bloco numa função e, nos pontos onde as instruções devem ser executadas, inserir uma chamada a esta função. Por exemplo, se você precisa somar dois valores em diversos pontos do script, seria bom ter uma funçãozinha chamada soma (que também pode ser usada para multiplicações smile ).

Funções podem ser colocadas em qualquer lugar do script. Por uma questão de ordem, costumo colocar todas as funções no fim dos scripts que escrevo, assim não perco de vista a linha principal de execução.

var nro1 = 5; var nro2 = 10; var resultado = soma( nro1, nro2 ); alert( resultado ); resultado = soma( resultado, nro1 ); alert( resultado ); alert( soma( resultado, nro2 ) ); function soma( n1, n2 ) { res = n1 + n2; return( res ); }

A função soma foi chamada três vezes neste script - estão destacadas em azul e vermelho. Uma das chamadas foi destacada em vermelho para chamar ainda mais a sua atenção: observe que é possível chamar funções de dentro de outras funções. Para isto basta enviar a função como um parâmetro da função principal.

Info E tem mais: você também pode chamar a função de dentro dela mesma!

A possibilidade de criar novas funções aumenta consideravelmente o "poder de fogo" da JavaScript. Com elas podemos ampliar, reformular ou adaptar a linguagem da melhor forma que nos convier. O limite é a sua imaginação e a sua capacidade de programação, mas lembre-se, não queira reinventar a roda. Antes de criar uma função, dê uma olhada se a JavaScript já não oferece uma prontinha para ser usada.

ScriptBox

Referências

mfx broker отзывкастрюля из чугунаотзовикработаникас адресалобановский александралександр лобановский