Informática Numaboa - Tutoriais e Programação
Tutorial Javascript III
Sab 14 Out 2006 11:44 |
- Detalhes
- Categoria: Javascript
- Atualização: Quarta, 15 Abril 2009 17:09
- Autor: vovó Vicki
- Acessos: 15034
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
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
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.
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.
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:
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
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
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:
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:
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:
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 ).
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.
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.
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
- W3C - World Wide Web Consortium
- SelfHtml, o mais completo guia de HTML, JavaScript, CSS, etc
- O script do ScriptBox é da autoria do Binny - Bin-Co. Free Scripts