154
 14/8/2014 Aposti l a Javascr i pt http://ww w .w ebte st e123.com/curso web/in form atica/w eb/apostilas/ pro gra maca o/j av ascrip t/ja vascrip t.html 1/154 Javascript Caso sensitivo Atenção  Na l i n g u ag em Jav ascri pt v ocê dev e prest ar m u i ta aten ção n a h ora de di g i tar s eu códi g o f on te, pois, o Javascript é caso sensitivo, ou seja, ele diferencia letras maiúsculas de minúsculas. Por exemplo, as palavras história, História e HISTÓRIA são palavras diferentes. Por exemplo, veja este código abaixo: Texto="A raiz quadrada de 9 é 3" document.write(Texto) As palavras Tex to e docum ent.wri teestão corretos , p orém, se você alterar o códig o fonte com l etras maiúsculas e minúsculas,causará erros no código fonte. Observe: Texto="A raiz quadrada de 9 é 3" Document.Write(TEXTO) As palavras TEXTO eDocument.Writeestãoerrados,causando erros. O computadornãoreconhece estas  pal av ras. Na h ora em que di g i tar o có di g o f onte preste bastante at en ção n as l etra s m ai ú scu l as e m i n ú scu l as,  por cau sa de u ma letra p ode cau sar er ros. Ponto-e-vírgula (;) no final das declarações Uma boa prática ao programar utilizando Javascript é sempre usar o; (ponto-e-vírgula) no final das suas declarações , mas seu uso não é o brig atório. Você precisa utilizaer o ponto-e-vírgula se utilizar algum compressor de Javascript para reduzir o tamanho do arquivo. como os comperssores distribuem os códigos em uma única linha, sem eles será impossível determinar onde começa e termina uma istruçõa, ocasionando erro. Editor de texto Editor de texto é apenas um processador de texto que é usado para digitar o programa. O texto resultante é conhecido como código fonte. O editor de texto é um software que permite ao usuário selecionar trechos de um arquivo, alterar, apagar ou adici onar testo ao códig o- f onte. Código-Fonte

Apostila Javascript

Embed Size (px)

DESCRIPTION

Javascript

Citation preview

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 1/154

    Javascript

    Caso sensitivo

    Ateno

    Na linguagem Javascript voc deve prestar muita ateno na hora de digitar seu cdigo fonte, pois, oJavascript caso sensitivo, ou seja, ele diferencia letras maisculas de minsculas. Por exemplo, as palavras

    histria, Histria e HISTRIA so palavras diferentes.

    Por exemplo, veja este cdigo abaixo:

    Texto="A raiz quadrada de 9 3"

    document.write(Texto)

    As palavras Texto edocument.writeesto corretos, porm, se voc alterar o cdigo fonte com letrasmaisculas e minsculas,causar erros no cdigo fonte. Observe:

    Texto="A raiz quadrada de 9 3"

    Document.Write(TEXTO)

    As palavras TEXTO eDocument.Writeestoerrados,causando erros. O computadornoreconhece estas

    palavras. Na hora em que digitar o cdigo fonte preste bastante ateno nas letras maisculas e minsculas,

    por causa de uma letra pode causar erros.

    Ponto-e-vrgula (;) no final das declaraes

    Uma boa prtica ao programar utilizando Javascript sempre usar o; (ponto-e-vrgula) no final das suas

    declaraes, mas seu uso no obrigatrio.

    Voc precisa utilizaer o ponto-e-vrgula se utilizar algum compressor de Javascript para reduzir o tamanho do

    arquivo. como os comperssores distribuem os cdigos em uma nica linha, sem eles ser impossvel

    determinar onde comea e termina uma istrua, ocasionando erro.

    Editor de texto

    Editor de texto apenas um processador de texto que usado para digitar o programa. O texto resultante

    conhecido como cdigo fonte.

    O editor de texto um software que permite ao usurio selecionar trechos de um arquivo, alterar, apagar ou

    adicionar testo ao cdigo-fonte.

    Cdigo-Fonte

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 2/154

    Cdigo-fonte uma seqncia de instrues numa linguagem de programao. O cdigo-fonte escrito por

    um programador.

    Este mesmo cdigo traduzido por um outro programador que pode ser pelo navegador no caso doJavascript, pelo servidor no caso do PHP, ou pelo compilador no caso Java.

    O cdigo-fonte o cdigo bsico de um programa.

    Criando um novo documento - O PRIMEIROPROGRAMA

    Para comear vamos analisar um exemplo bem simples - abra um editor de texto comum e digite o cdigoque est escrito abaixo:

    Meu primeiro programa

    docoment.write("Esta minha primeira pgina")

    Salve este documento com o nome pgina01.html

    Assim que o exemplo for salvo no editor de texto (bloco de notas, por exemplo) com a extenso .htm ou.html, ao ser executado, o programa enviar a seqncia de caracteres "Esta minha primeira pgina" para a

    sada padro que a tela do monitor.

    Para criar um arquivo Javascript, basta definir os elementos e suas formataes ou um editor de texto, esalv-lo com a extenso .html ou .htm, exemplo:

    programa.html

    texto.html

    arquivo01.html

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 3/154

    Corpo do programa

    Basicamente, a sintaxe do corpo do programa consiste em:

    // Contedo

    OU:

    // Contedo

    Carregando um arquivo externo

    No Javascript, h a possibilidade de colocar mais de 1 arquivo externo ao documento. Ao invs detrabalharmos com o Javascript internamente, podemos trabalh-lo externamente. Em vez de trabalharmos

    com um arquivo, podemos trabalhar com mais de um arquivo.

    Isto pode facilitar e muito a vida do programador.

    Abra um editor de texto e copie o arquivo abaixo:

    Arquivo externo

    Salve este arquivo com arquivoesterno.html.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 4/154

    Para incluir um arquivo externo ao documento use o comando src, no exemplo acima o arquivo externo

    "teste.js". Devemos sempre salvar este arquivo externo com a extenso js.

    Abra o editor de texto de novo e copie este arquivo abaixo:

    document.write("Testando um arquivo externo. ")

    document.write("Bom dia ")

    document.write("Boa tarde e ")

    document.write("Boa noite. ")

    document.write("Fim do arquivo externo.")

    Salve este arquivo como teste.js.

    Assim que o documento arquivoexterno.html seja executado ao ser executado o programa enviar para a

    tela do monitor: "Testando um arquivo externo. Bom dia, Boa tarde e Boa noite. Fim do arquivo externo."

    Observao: Se voc est trabalhando com o arquivo externo do Javascript. No use as tags e

    dentro do cdigo, o que causaria erros de programao. O arquivo teste.js s aceita comandos

    Javascript se colocarmos tags html geraria erros, s use tags html dentro de aspas "duplas" ou 'simples'.

    Comentrios

    Comentrio uma breve nota de explicao inseridas em um programa para descrever o que ele far.

    Os programadores usam comentrios em seus programas para que outros programadores (e ele prprio)

    entendam o que o programa faz e como funciona.

    Os comentrios geralmente descrevem o que o programa faz, quem o seu autor, por que ele foi alterado, e

    assim por diante. A maioria das linguagens de programao usa uma sintaxe prpria para a especificao de

    comentrios, de modo que os comentrios sejam ignorados pelo compilador.

    Os comentrios no so analisados pelo programa.

    Os comentrios podem ocupar uma ou vrias linhas. Veja o exemplo abaixo:

    Comentrios de uma linha

    Para inserir um comentrio de uma linha basta colocar o smbolo // antes de qualquer comentrio.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 5/154

    Exemplo:

    //Comentrio de uma linha

    //Exemplo 1

    //Exemplo 2

    //Exemplo 3

    Comentrio com mais de uma linha

    Para inserir comentrios com mais de uma linha basta colocar os smbolos / * para abrir um comentrio e * /

    para fechar o comentrio.

    Exemplo:

    / *

    Comentrio

    com mais de

    uma linha

    * /

    / *

    Exemplo 1

    Exemplo 2

    Exemplo 3

    * /

    Usando aspas dentro de aspas

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 6/154

    s vezes necessitamos informar algo entre aspas dentro de uma string. Isto pode ser resolvido alterando-se

    aspas duplas e simples. Isto usado em Javascript e PHP, veja o exemplo em Javascript.

    document.write("")

    Outro exemplo:

    Inserindo um texto

    Para inserir um texto no programa use o comando document.write, veja o exemplo abaixo:

    document.write("A raiz quadrada de 9 3")

    document.write("A soma de 5 + 4 igual a 9 ")

    document.write("6 dividido por 3 igual a 2 ")

    Editando um texto

    Para editar um texto externamente basta usar o comando leia:

    Idade

    Digite seu nome:

    Digite sua idade:

    function idadex() {

    var nome = document.frm_teste.nome.value

    var idade = document.frm_teste.idade.value

    alert("meu nome " + nome + " e tenho " + idade + " anos.")

    }

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 7/154

    Caracteres especiais

    Dentro de uma string de texto, podem ser especificado caracteres especiais mostrados a seguir:

    Hfen \'

    Aspas \"

    Barra invertida \\

    Nova linha \n

    Marca de tabulao \t

    Retorno de carro \r

    Backspace \b

    Exemplo:

    document.write("")

    document.write("\tO livro: \"Manual Prtico do ")

    document.write("Programador\". \nEst nas livrarias ")

    document.write("e \\ ou jornaleiros. ")

    document.write("")

    Resultado:

    O livro: "Manual Prtico do Programador".Est nas livrarias e \ ou jornaleiros.

    Tipos de variveis

    Variveis so smbolos que representa um valor numrico ou string usada no programa. O uso de variveis

    d ao programador flexibilidade para mudar o valor a qualquer momento no programa, mesmo que a

    princpio parea no ser necessrio este tipo de flexibilidade.

    O contedo de uma varivel pode mudar a qualquer momento.

    Por exemplo, uma varivel chamado cheque poderia conter o nmero 12, mas o programa teria condiesde modificar esse valor a qualquer momento.

    O nome de uma varivel pode comear com uma letra ou sublinhado "_" seguido de nmeros ou letras sem

    espao. Veja alguns exemplos de nomes vlidos:

    nome

    Conta_pag

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 8/154

    z01

    _cod

    Varivel String

    Varivel String um conjunto contnuo de caracteres alfanumricos que no contm nmeros usados para

    clculos. Nomes, endereos, palavras e frases so strings. Esses caracteres podem ser as letras maisculas,

    as letras minsculas, os nmeros e os caracteres especiais (&, #, @, ?, + ). Exemplos:

    "aluno"

    "1234"

    "@ internet"

    "0.34"

    "1 + 2"

    Observao: os dados do tipo literal na linguagem de programao so sempre representados entre aspas

    duplas(") ou aspas simples (').

    Variveis Numricas

    Os dados numricos dividem-se em dois grupos: inteiros e reais.

    Os nmeros inteiros podem ser positivos ou negativos e NO possuem parte decimal. Este tipo de dado

    armazenado na memria do computador, exemplos:

    -23

    98

    0

    1350

    -257

    237

    -2

    Os nmeros reais podem ser positivos ou negativos e possuem parte decimal. Este tipo de dado

    armazenado na memria do computador, exemplo:

    23.45

    346.98

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 9/154

    -34.88

    0.0

    -247.0

    Observao: na linguagem de programao, a separao entre a parte inteira e a parte decimal de um

    nmero feita pelo ponto (.), e a simples presena do ponto j significa que um nmero real.

    Variveis Booleanas

    Varivel Booleana uma expresso cujo resultado s pode ser verdadeiro (true) ou falso (false).

    As variveis booleanas so mais usadas em:

    Estrutura de deciso: If, Case e Ternrio;

    Operadores relacionais: >, = , 2)&&(54)||(5

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 10/154

    Regras bsicas

    Para criar uma varivel, a varivel deve obedecer as seguintes regras:

    1. O primeiro caractere deve ser sempre uma letra ou um caractere sublinhado (_).

    2. Os caracteres que voc pode utilizar na formao das variveis so: os nmeros, as letras maisculas,

    as letras minsculas e o caractere sublinhado (_).

    3. No permitido acentuao (acento grave, acento agudo, acento circunflexo, trema e til), por

    exemplo: Antnio, mamo, difcil, cinqenta, etc.

    Dependendo da linguagem de programao usado pelo programador (ASP, Java, PHP, Javascript, Delphi,

    Visual Basic e outros) cada linguagem recebe regras de programao diferente, por exemplo:

    1. As variveis podem ter qualquer tamanho. Entretanto, apenas os 63 primeiros caracteres so

    utilizados pelo compilador.

    2. Dependendo da linguagem de programao, a varivel pode ser sensvel, ou no, a letras maisculas

    ou minsculas, isto se chama "caso sensitivo".

    O Javascript, por exemplo,faz diferenciao entre letras maisculas e minsculas; portanto a varivel NUM

    exatamente diferente a varivel num;

    Observao: algumas linguagens de programao so sensveis caixa alta e caixa baixa, um exemplo disso

    o Java, "Ol" e "OL" so duas palavras totalmente diferentes. O Delphi por exemplo no sensvel a

    caixa, "abc" exatamente igual a "ABC".

    3. No podemos usar palavras reservadas em variveis.

    Palavras reservadas so nomes utilizados pelo compilador para representar comandos de controle do

    programa, operadores e nomes de sees de programas. As palavras reservadas da linguagem Pascal so:

    (veja a tabela abaixo)

    Exemplos de variveis vlidos:

    A

    a

    nota

    NOTA

    x5

    A32

    Nota_1

    MATRICULA

    nota_1

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 11/154

    dia

    IDADE

    Exemplos de variveis invlidos

    5b

    e 12

    x-y

    prova 2n

    nota(2)

    case

    Set

    matrcula

    Obs: matrcula com acento no .

    Resolva os exerccios abaixo:

    Exerccio 1: Identifique o tipo dos dados:

    (a) numrico inteiro;

    (b) numrico real;

    (c) lgico;

    (d) string.

    (c) true (b) 45.0 (a) 1234 (b) 0.0

    (d) "aula" (d) "c * d" (a) -234 (d) "1 2 3 4"

    (b) -0.342 (b) 35.23 (d) "34" (b) -18.589

    (d) " " (b) -354.0 (b) -15.2 (c) false

    (a) 0 (a) 897 (d) "false" (a) -23

    Concatenao

    Concatenar: Reunir duas strings de caracteres em um s por exemplo, combinar as duas strings "bom" e "dia"

    formando uma nica string "bom dia".

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 12/154

    // Exemplo 1:

    Variavel="Texto1 " + "Texto2" + ""document.write(Variavel)

    // Exemplo 2:String1="Isto "

    String2="um texto"String3=""

    String4=String1 + String2 + String3document.write(String4)

    // Exemplo 3Nome="Jos "

    Sobrenome="Antnio"document.write("Meu nome : " + Nome + Sobrenome)

    Convertendo valores string para numrica

    Quando usamos formulrios para efetuar clculos matemticos precisamos converter os valores strings dos

    formulrios em valores numricos, para logo em seguida calcular usando operadores aritmticos e funesmatemticas.

    Se no convertermos os valores strings para numricas impossibilita de efetuarmos clculos matemticos, por

    exemplo:

    A="7"

    B="9"C=5document.write(A + B + C)

    Esta operao geraria erros de programao o correto usarmos conversores, veja o exemplo abaixo:

    A="7"

    B="9"C=5

    document.write(parseFloat(A) + parseFloat(B) + C)

    Observando que C j um valor numrico, enquanto A e B so strings.

    Veja outro exemplo:

    Altura: Largura:

    function Areax() {

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 13/154

    Altura=document.frm_teste.Altura.value

    Largura=document.frm_teste.Largura.valueArea= parseFloat(Altura) + parseFloat(Largura)/2alert(Area)

    }

    Os valores Largura e Altura so valores strings e Area um valor numrico. No exemplo acima usamos os

    formulrios Altura e Largura, os valores Largura e Altura so valores strings enquanto Area um valornumrico.

    Se efetuarmos os clculos Area = Altura * Largura/2 sem converter string em numrica geraramos erros de

    programao.

    O correto Area=parseFloat(Altura) * parseFloat(Largura)/2.

    Exerccio 1: Use a calculadora abaixo:

    Calculadora

    function calcula(form,op) {

    var op1 = eval(form.campo1.value);var op2 = eval(form.campo2.value);

    if (op==0){res=op1+op2;

    }else if (op==1){res=op1-op2;

    }else if (op==2){res=op1*op2;}else if (op==3){

    res=op1/op2;}

    form.resultado.value=res;}

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 14/154

    Resultado:

    Exerccio 2: Use esta outra calculadora

    Calculadora

    function processa1() {d = eval(document.calculo.campo1.value)+

    eval(document.calculo.campo2.value)+eval(document.calculo.campo3.value)document.calculo.campo4.value=d

    }function processa2() {

    d = eval(document.calculo.campo1.value)*eval(document.calculo.campo2.value)*

    eval(document.calculo.campo3.value)document.calculo.campo4.value=d}

    Campo1: Campo2: Campo3:

    Resultado:

    Operadores

    Operadores so smbolos que representa uma operao matemtica; so trs tipos de operadores:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 15/154

    Operadores Aritmticos ( + , -, * , /)Operadores Relacionais (, =, = )

    Operadores Booleanos (And, Or, Not)

    O operador mais usado o operador de atribuio "=". Ele atribui o contedo da expresso sua direita

    para a varivel do seu lado esquerdo.

    X=40

    X=20/10 + 5

    X=Y

    Operadores Aritmticos

    Operadores aritmticos so smbolos usados pelo computador + , -, * , /, para efetuar clculos matemticos.

    Os operadores aritmticos so os seguintes:

    Operadores Nome Utilizao

    + Adio Soma valores

    - Subtrao Subtrai valores

    * Multiplicao Multiplica valores

    / Diviso Divide valores

    % Mdulo Determina o resto da diviso

    Veja os exemplos abaixo:

    Exemplo 1: Efetue clculos usando operadores aritmticos

    Operao Resultado

    5 + 8 13

    12-7 5

    3 * 6 18

    10/3 3.333333

    10 % 3 1

    Exemplo 2: Efetue clculos aritmticos usando parnteses

    Operao Resultado

    4 * 2 + 1 9

    4 * (2 + 1) 12

    3 + 5 * 4-2 21

    (3 + 5) * (4-2) 16

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 16/154

    Usando Operadores Aritmticos

    + Adio

    - Subtrao

    * Multiplicao

    / Diviso

    ( ) Parnteses

    Lista de Exerccios:

    Exerccio 1. Faa um programa que receba quatro nmeros inteiros, calcula e mostre a soma desses nmeros

    // Nome do arquivo: soma.txt

    +

    + +

    function Somax() {

    n1=document.frm_teste.n1.valuen2=document.frm_teste.n2.value

    n3=document.frm_teste.n3.valuen4=document.frm_teste.n4.value

    soma=parseFloat(n1) + parseFloat(n2) + parseFloat(n3) + parseFloat(n4)alert(soma)}

    Exerccio 2. Faa um programa que receba trs notas, calcule e mostre a mdia aritmtica entre elas.

    // Nome do arquivo: triangulo.txt

    Base:

    Altura:

    function Areax() {

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 17/154

    base= parseFloat(document.frm_teste.base.value)

    altura=parseFloat(document.frm_teste.altura.value)area=(base * altura)/2

    alert(area)}

    Exerccio 4. Faa um programa que receba o salrio de um funcionrio, calcule e mostre o novo salrio,

    sabendo-se que este sofreu um aumento de 25%.

    // Nome do arquivo: salario.txt

    Salrio:

    function Salariox() {sal=parseFloat(document.frm_teste.sal.value)

    aumento=sal * 25/100novosal=sal + aumento

    alert(novosal)}

    Exerccio 5. Crie um programa que d o resultado da soma, do produto e da diferena.

    // Nome do arquivo: resultado.txtEntre com dois nmeros:

    A:

    B:

    function resultadox() {

    A=parseFloat(document.frm_teste.A.value)B=parseFloat(document.frm_teste.B.value)

    alert("Operaes com nmeros " + A + " e " + B + ":")alert("Soma = " + (A + B))

    alert("Produto = " + (A * B))alert("Diferena = " + (A-B))}

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 18/154

    Exerccio 6. Crie um programa que d o quadrado de um nmero

    Digite um numero:

    function Quadradox() {n=parseFloat(document.frm_teste.n.value)

    Quadrado=n*nalert("O quadrado de "+ n+ " e "+ Quadrado)

    }

    Operadores Relacionais

    Operadores relacionais so operadores que permitem ao programador comparar dois (ou mais) valores ouexpresses.

    Os operadores relacionais tpicos so: (veja a tabela abaixo:)

    Operador Significado Exemplo

    == Igual 3==(4-1) ou "VILMA"=="VILMA"

    != Diferente 5 != (3 + 3) ou "VILMA"!= "BETH"

    < Menor que 3 Maior que 41>39

    = 10

    Veja os exemplos abaixo:

    Exemplo 1. Veja o seguinte resultado

    Operao Resultado

    2339 true (verdadeiro)

    6 = 10 true (verdadeiro)

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 19/154

    7==8 false (falso)

    48 != 22 true (verdadeiro)

    Exemplo 2. Se a=100 e b=200, calcule:

    Operao Resultado

    a>b false (falso)

    b>a true (verdadeiro)

    a != b true (verdadeiro)

    Exemplo 3. Resolva a seguinte operao:

    Operao Resultado

    23==(4 * 2 + 3 * 5) true (verdadeiro)

    17==(12/2 + 8-5) false (falso

    23==(4 * 2 + 3 * 5)

    23==(8 + 15)

    23==23

    true

    17==(12/2 + 8-5)

    17==6 + 8-5

    17==9

    false

    Exemplo 4. Dadas as strings abaixo resolva:

    Operao Resultado

    "FRED"=="FRED" true (verdadeiro)

    "FRED"!="SAM" true (verdadeiro)

    "ONE"=="TWO" false (falso)

    "THREE"!= "THREE" false (falso)

    Operadores Booleanos

    AND, OR, XOR e NOT so as operaes fundamentais a lgica booleana.

    Estes operadores s aceitam como operandos valores lgicos: TRUE ou FALSE.

    Veja a tabela abaixo

    Operador Significado

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 20/154

    And ( && ) Verdadeiro se ambos os lados da expresso forem verdadeiros.

    Or ( || ) Verdadeiro se um ou ambos os lados da expresso forem verdadeiros

    Xor ( ^ ) Verdadeiro se apenas um lado for verdadeiro

    Not ( ! ) Reverte verdadeiro para falso e vice-versa

    Se voc est acostumado com o C, C + + , Java e Javascript j deve ter notado que seus operadoresbooleanos usam smbolos diferentes.

    And substitudo por &&

    Or substitudo por ||

    e Not substitudo por !

    Se o leitor no teve nenhum contato com essas linguagens, poder ter algumas dificuldades iniciais deescrever este tipo de cdigo. Por exemplo:

    (x>2)&&(y==9)

    Leia-se: x maior que 2 E y igual a 9

    (x8)

    Leia-se: x menor que 3 OU x maior que 8

    if((altura>170)||(idade>18)) {

    // Ao...

    }

    Leia-se: se altura maior que 170 centmetros OU idade maior que 18 anos...

    Veja a tabela abaixo:

    Smbolo Operao

    && And (E)

    || Or (Ou)

    ! Not (No)

    Existem os operadores binrios (semelhantes aos operadores acima), veja a tabela abaixo:

    Smbolo Operao

    & And lgico

    | Or lgico

    ^ Xor lgico

    Iremos estudar cada um:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 21/154

    AND (&&) verdadeiro se ambas as entradas forem verdadeiras, veja o quadro abaixo:

    (a==true)&&(b==true) o resultado true (verdadeiro)

    (a==false)&&(b==true) o resultado false (falso)

    (a==true)&&(b==false) o resultado false (falso)

    (a==false)&&(b==false) o resultado false (falso)

    Por exemplo a expresso:

    (3 + 2==5)&&(6 + 2==8)

    verdadeira porque as expresses em ambos os lados de And so verdadeiras. no entanto, a expresso:

    (4 + 3==9)&&(3 + 3==6)

    falsa, porque a expresso esquerda de And falsa. Lembre-se disto quando combinar expresses com

    And: se qualquer expresso for falsa, toda a expresso ser falsa.

    OR (||) verdadeiro se qualquer uma das entradas for verdadeira, veja o quadro abaixo:

    (a==true)||(b==true) o resultado true (verdadeiro)

    (a==false)||(b==true) o resultado true (verdadeiro)

    (a==true)||(b==false) o resultado true (verdadeiro)

    (a==false)||(b==false) o resultado false (falso)

    Por exemplo, as expresses:

    (3 + 6==2)||(4 + 4==8)

    e

    (4 + 1==5)||(7 + 2==9)

    So ambas verdadeiras porque pelo menos uma das expresses comparada verdadeira. Observe que no

    segundo caso, ambas as expresses comparadas so verdadeiras, o que tambm torna verdadeira umaexpresso Or.

    Um XOR (OU exclusivo) verdadeiro se somente uma das entradas for verdadeira e no ambas, veja oquadro abaixo:

    (a==true)^(b==true) o resultado false (falso)

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 22/154

    (a==false)^(b==true) o resultado true (verdadeiro)

    (a==true)^(b==false) o resultado true (verdadeiro)

    (a==false)^(b==false) o resultado false (falso)

    Por exemplo, a expresso:

    (3 + 6==2)^(4 + 4==8)

    verdadeira porque apenas a expresso (4 + 4=8) verdadeira. No entanto a expresso:

    (4 + 1==5)^(7 + 2==9)

    falsa, porque ambas as expresses so verdadeiras.

    NOT (!) Uma operao lgica booleana que inverte a entrada. Se a entrada for true, a sada false, e vice-versa, veja o quadro abaixo:

    !(true) o resultado false

    !(false) o resultado true

    Por exemplo, a expresso:

    (4 + 3==5)

    No verdadeira; no entanto a expresso

    !(4 + 3==5)

    verdadeira porque o operador Not reverte para verdadeiro o resultado falso da expresso (4 + 3=5).

    Observe esta expresso:

    (4 + 5==9) && !(3 + 1==3)

    Esta expresso verdadeira ou falsa? Se voc disse verdadeira, compreende a forma como funcionam osoperadores lgicos. As expresses em ambos os lados de And so verdadeiras, ento toda a expresso verdadeira.

    Veja exemplos abaixo:

    Exemplo 1. Resulta as seguintes operaes booleanas

    Expresso Resultado

    (3>2)&&(5>4) true (verdadeiro)

    (2>1)&&(7>8) false (falso)

    (3>4)||(9>2) true (verdadeiro)

    (7>7)||(4>4) false (falso)

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 23/154

    (2==2)^(5==5) false (falso)

    (4>5)^(4a && b==c falso (falso)

    b>a || b==c true (verdadeiro)

    b>a ^ c>b false (falso)

    ! a b false (falso)

    Exemplo 3. Resolva a seguinte operao:

    (4 * (3 + 5))/2>100 || (5 * (3 + 4)/2100 || (5 * (3 + 4)/2100 || (5 * 7/2100 || (35/2100 || 17.5 c=a + b

    Em 2 lugar esto as propriedades do objeto. Exemplo: Nota1.value=7 e Nota2.value=5 => media=(Nota1.value + Nota2.value)/2Em 3 lugar esto os parnteses. Exemplo: 3 * (4 + 1) * 2Em 4 lugar esto as funes. Exemplo: raiz quadrada, seno, cosseno, tangente, logaritmos e outros.

    Em 5 lugar est a potenciao. Exemplo: 3^4 + 2Em 6 lugar esto multiplicao ( * ), diviso (/), e mdulo (%), na ordem em que aparecerem daesquerda para direita. Exemplo: 7 + 4/2 * 6/3-8Em 7 lugar esto adio ( + ) e subtrao (-), na ordem em que aparecerem da esquerda paradireita. Exemplo: 5 + 4-7-8 + 3-2 + 9

    Em 8 lugar esto os operadores relacionais, maior que (>), menor que (= ),

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 24/154

    menor ou igual ( 5) Or Not(3>6)

    Em 10 lugar esto os operadores booleanos AND, OR e XOR. Exemplo: (37)

    Resumindo

    Nvel de prioridade Operadores Ordem

    Mais alta: 1 Variveis da esquerda para a direita

    2 Propriedades do Objeto da esquerda para a direita

    3 Parnteses da esquerda para a direita

    4 Funes da esquerda para a direita

    5 Potenciao da esquerda para a direita

    6 * , /, % da esquerda para a direita

    7 + , - da esquerda para a direita

    8 >, = ,

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 25/154

    teste=trueif (teste) {document.write("Esta linha ser impressa")

    } else {document.write("Esta linha no ser impressa")}

    Usando a clusula If

    Vamos ver um exemplo:

    Descontos=315

    if(Descontos!=0){document.write("Descontos deste ms: " + Descontos)

    }

    O sistema s executar o comando document.write quando o valor da varivel desconto for maior que 0.

    Agora, ficou claro que este comando muito til para dar ao sistema uma espcie de "poder de deciso". naverdade, estamos programando o sistema para cada tipo de situao e ento o software agir conforme anecessidade de cada problema, situao ou estado do sistema naquele momento.

    Usando a clusula Else

    Podemos dar ao fluxo mais uma opo utilizando a clusula else. Nesse caso, o fluxo executar o blocoantes ou depois desta clusula. No exemplo anterior, podemos incrementar o cdigo com mais uma situao.

    Descontos=315if(Descontos != 0){document.write("Descontos deste ms: " + Descontos)} else {

    document.write("No h descontos este ms.")}

    Para entender melhor o exemplo troque o valor da varivel Descontos para zero e teste novamente.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 26/154

    Usando a clusula else if

    A clusulaelse ifnos permite ter vrias expresses dentro do mesmo comando If. Isso permite escolher entrevrias situaes e, caso nenhuma retorne verdadeiro, o fluxo ir para a clusula else, se esta for utilizada.Veja

    Salario=1550

    if (Salario= 1250 && Salario= 1800 && Salario

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 27/154

    num=parseFloat(document.frm_teste.num.value)if(num % 2 == 0){alert("Par")} else {

    alert("mpar")}}

    Exerccio 2. Receber a temperatura - em graus Celsius - de uma pessoa e emitir uma mensagem se elaestiver com febre.

    Nome do arquivo: temperatura.txt

    Temperatura:

    function Temperaturax(){

    temperatura=parseFloat(document.frm_teste.temperatura.value)febre=37if(temperatura >= febre){alert("Paciente com febre")

    }else {alert("Paciente sem febre")}}

    Exerccio 3. Crie um algoritmo que informa se voc do sexo masculino ou feminino

    Nome do arquivo: sexo.txtVoc do sexo masculino? s/n??

    function Sexox(){

    s_n=document.frm_teste.s_n.valueif(s_n=="s") {alert("Voc do sexo masculino")}else {

    alert("Voc do sexo feminino")}}

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 28/154

    Exerccio 4. Faa um programa que indique se o ano bissexto ou no.

    Nome do arquivo: bissexto.txt

    Digite o ano:

    function Bissexto() {

    Ano=parseFloat(document.frm_teste.Ano.value)if (Ano % 4 == 0){alert(Ano + " bissexto")} else {alert(Ano + "no bissexto")

    }}

    Usando Operadores relacionais

    < Menor que

    > Maior que

    == Igual a

    = Maior ou igual a

    != Diferente

    Lista de exerccios

    Exerccio 1. Faa um programa que indique se ele maior, menor ou igual a 100.

    // Nome do arquivo: maiorque100.txt

    Numero:

    function maiorque() {

    numero=parseFloat(document.frm_teste.numero.value)if(numero

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 29/154

    }}

    Exerccio 2. Faa um programa que indique se ele positivo, negativo ou igual a 0.

    // Nome do arquivo: positivo.txt

    Nmero:

    function positivo() {n=parseFloat(document.frm_teste.n.value)if (n>0) {alert("O nmero positivo")}else {

    alert("O nmero ou igual a 0 ou negativo")}}

    Exerccio 3. Faa um programa que receba dois nmeros e mostre o maior.

    // Nome do arquivo: maior.txt

    Digite o primeiro nmero:

    digite o segundo nmero:

    function maior() {num1=parseFloat(document.frm_teste.num1.value)num2=parseFloat(document.frm_teste.num2.value)if(num1>num2){

    alert("O maior nmero : "+ num1)} else if(num1

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 30/154

    Exerccio 4. Criar um algoritmo que receba a idade e informe se criana, adolescente, adulto ou idoso:

    //Nome do arquivo: idade.txt

    Qual a sua idade?

    function Idadex() {idade=parseFloat(document.frm_teste.idade.value)if (idade

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 31/154

    nota1=parseFloat(document.frm_teste.nota1.value)

    nota2=parseFloat(document.frm_teste.nota2.value)nota3=parseFloat(document.frm_teste.nota3.value)media=(nota1 + nota2 + nota3)/3alert("Mdia aritmtica: " + media)

    if(media >= 0 && media= 5 && media= 7 && media = 8 && media = 6 && media= 4 && media= 2 && media= 0 && media

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 32/154

    }

    Exerccio 3. Dados trs valores A, B, C, verificar se eles formam um tringulo eqiltero, issceles ou

    escaleno.

    // nome do arquivo: triangulo.txtTringulo

    Lado A:

    Lado B: Lado C:

    function Triangulo() {A=parseFloat(document.frm_teste.A.value)B=parseFloat(document.frm_teste.B.value)C=parseFloat(document.frm_teste.C.value)

    if(A

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 33/154

    Comando Case

    Repare nesta outra construo para comando if aninhado:

    if (mes==1) {document.write("Jan")}else if (mes==2) {document.write("Fev")}

    else if (mes==3) {document.write("Mar")}else if (mes==4) {document.write("Abr")}else if (mes==5) {document.write("Mai")}else if (mes==6) {document.write("Jun")}

    else if (mes==7) {document.write("Jul")}else if (mes==8) {document.write("Ago")}else if (mes==9) {document.write("Set")}else if (mes==10) {document.write("Out")}else if (mes==11) {document.write("Nov")}

    else if (mes==12) {document.write("Dez")}else {document.write("Ms invlido")}

    Embora essa construo seja perfeitamente vlida, h uma forma mais eficiente de se obter os mesmos

    resultados. o comando case cujo funcionamento muito parecido com os if's aninhados:

    switch (mes){case 1: document.write("Jan"); break;

    case 2: document.write("Fev"); break;case 3: document.write("Mar"); break;case 4: document.write("Abr"); break;case 5: document.write("Mai"); break;

    case 6: document.write("Jun"); break;case 7: document.write("Jul"); break;case 8: document.write("Ago"); break;case 9: document.write("Set"); break;case 10: document.write("Out"); break;

    case 11: document.write("Nov"); break;case 12: document.write("Dez"); break;default: document.write("Ms invlido!") }

    Este comando permite que vrias comparaes sejam feitas e, no final, apenas uma seja escolhida paraexecutar um cdigo especfico da condio selecionada. Ele funciona igualmente a vrios ifs, mas agora eletesta os valores de uma mesma varivel.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 34/154

    Vejamos um exemplo:

    valor=2

    switch (valor){case 0: document.write("O valor da varivel 0"); break;case 1: document.write("O valor da varivel 1 "); break;case 2: document.write("O valor da varivel 2 "); break;case 3: document.write("O valor da varivel 3 "); break;

    case 4: document.write("O valor da varivel 4 ") ; break;}

    No exemplo anterior, o comando Case testar linha a linha, em busca de um case que corresponda ao valor

    da varivel.

    Quando encontrar o valor correspondente, executar os comandos que viro logo aps este case.

    Em linguagens de programao tais como o C, Java, Javascript PHP, esses comandos estaro entre { }, sefor mais que um. Teste o cdigo e veja como fica.

    Usando o comando break

    Quando precisamos executar apenas o case que corresponda ao valor da varivel, utilizaremos um comando

    que tem a caracterstica de para fluxos de execuo, o comando break. Caso esse no seja utilizado, todosos cases aps o case que corresponda ao valor da varivel de referncia sero executados.

    Utilizando o exemplo anterior, veremos como ficaria o cdigo com o uso do comando break:

    valor=2;

    switch(valor){case 0: document.write("O valor da varivel 0");break;case 1: document.write("O valor da varivel 1");break;

    case 2: document.write("O valor da varivel 2");break; case 3: document.write("O valor da varivel 3");break; case 4: document.write("O valor da varivel 4");

    break; }

    No exemplo anterior, apenas os comandos que correspondam ao case que tem o mesmo valor da varivel

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 35/154

    sero executados.

    Teste os exemplos anteriores, veja a diferena entre eles e descobrir que o exemplo que possui o break ,nesse caso, o correto.

    Exemplo 1. Determine o nmero de dias durante um ms

    // Nome do arquivo: dias.txt

    Digite o ms: Digite o ano:

    function DiasX() {Mes=parseFloat(document.frm_teste.Mes.value)Ano=parseFloat(document.frm_teste.Ano.value)NumDias=0

    switch(Mes) {case 4:case 6:case 9:case 11:

    NumDias=30break;case 2:if (Ano % 4 == 0) {

    NumDias=29} else {NumDias=28}break;

    default:NumDias=31break;}

    alert("O mes "+ Mes + " tem " + NumDias + " dias.")}

    Exemplo 2. Crie um algoritmo que informe o dia da semana

    // Nome do arquivo: semana.txtDataToda=new Date()DiaDaSemana=DataToda.getDay()

    switch(DiaDaSemana) {

    case 0: document.write("Domingo"); break;

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 36/154

    case 1: document.write("Segunda"); break; case 2: document.write("Tera"); break;case 3: document.write("Quarta"); break;

    case 4: document.write("Quinta"); break; case 5: document.write("Sexta"); break;case 6: document.write("Sbado"); break;}

    Exemplo 3: Crie um algoritmo que d um aviso de bom dia, boa tarde e boa noite:

    // Nome do arquivo: bomdia.txtDataToda=new Date()

    HoraAtual=DataToda.getHours()switch(HoraAtual){case 6:case 7:case 8:

    case 9:case 10:case 11:document.write("Bom dia!");

    break;case 12:case 13:case 14:case 15:

    case 16:case 17:document.write("Boa tarde!");break;default:

    document.write("Boa noite!")break;}

    Exemplo 4. Crie um programa que gerencie um caixa eletrnico

    // Nome do arquivo: caixa.txt

    Menu Principal---------------

    1 - Incluso2- Alterao3 - Excluso4 - Relatrio5 - Fim

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 37/154

    --------------

    Escolha sua opo

    function Menux() {

    menu=document.frm_teste.menu.valueswitch(menu) {case "1": alert("Incluir"); break;case "2": alert("Alterar"); break;case "3": alert("Excluir"); break;

    case "4": alert("Relatrio"); break;case "5": alert("Sair"); break;default: alert("Opo invlida "); break;}}

    Exerccio 5. Crie uma calculadora com as 4 operaes da matemtica: adio, subtrao, diviso emultiplicao.

    // Nome do arquivo: operacao.txt

    Digite o primeiro nmero: Escolha um operador + , -, * , / Digite o segundo nmero:

    function calculadora() {A=parseFloat(document.frm_teste.A.value)B=parseFloat(document.frm_teste.B.value)

    operador=document.frm_teste.operador.valueswitch(operador) {case "+": alert("Resultado soma da igual a "+ (A + B)); break;case "-": alert("Resultado da subtrao igual a "+ (A - B)); break;

    case "*": alert("Resultado da multiplicao igual a "+ (A * B)); break;case "/": alert("Resultado da diviso igual a "+ (A / B)); break;default: alert("Caractere diferente de + , -, * , /"); break;}}

    Exerccio 6. Crie um programa que digite um caractere e diga se ele vogal maiscula, valor numrico,operador aritmtico ou outro caractere.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 38/154

    // Nome do programa: caracteres.txt

    Escolha um caractere:

    function Caracterex() {

    caractere=document.frm_teste.caractere.valueswitch(caractere){case "A":case "E":

    case "I":case "O":case "U": alert("Vogal maiscula"); break;

    case "0":case "1":case "2":case "3":

    case "4":case "5":case "6":case "7":case "8":

    case "9":alert("Valor numrico");break;case "+":case "-":

    case "*":case "/":alert("Operador Aritmtico");break;

    default:alert("Voc digitou outro caractere")break;}}

    Operador Ternrio

    Diferente da instruo IF, o operador ternrio tem este nome porque necessita de trs operandos para seavaliado. Ooperador ternrio tem a seguinte forma:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 39/154

    condio1 ? expresso_verdadeira : espresso_falsa

    Para avaliar o resultado da expresso primeiro a condio1 avaliada. Caso este resultado seja verdadeiroento resultado da expresso ser igual ao valor da expresso_verdadeira, no caso contrrioexpresso_falsa avaliada e se torna o resultado.

    Exemplo 1:

    variavel=50resultado=(variavel >= 0)&&(variavel = 0)&&(horas = 0)&&(minutos = 0)&&(segundos = 6)&&(media

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 40/154

    de vezes. Digamos que deseje imprimir seu nome na tela dez vezes, por exemplo:

    nome=prompt("Digite um nome:","")

    document.write(nome+"")document.write(nome+"")document.write(nome+"")

    document.write(nome+"")document.write(nome+"")document.write(nome+"")document.write(nome+"")document.write(nome+"")

    document.write(nome+"")document.write(nome+"")

    Quando voc rodar o programa, digite um nome na caixa de texto e clique no boto Ok ou d Enter.Quando o fizer, o programa imprimir o nome dez vezes na janela do formulrio, como mostrado a seguir:

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Bart Simpson

    Ter muitas linhas em seu programa contendo instrues idnticas alonga-o alm do necessrio e desperdiamemria. Tambm mostra um estilo de programao ruim. Ao menos que voc deseje que seus amigosprogramadores riam de voc pelas costas, aprenda a substituir cdigos de programa redundante por loopsde programa.

    A rotina do programa anterior pode ser extremamente fcil usando-se um loop For, e aqui est como:

    nome=prompt("Digite um nome:","")

    for(var i=1; i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 41/154

    }

    Substitua a rotina do programa anterior por esta. Quando voc roda o programa, a sada ser idntica quela

    do primeiro programa, mas agora o programa menor e sem cdigo redundante.

    Exerccio 1. Crie uma estrutura de repetio que conte de 1 at 10.

    // Nome do arquivo: de1a10.txtfor(var x=1; x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 42/154

    Resultado: 0, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50,

    Exerccio 5. Crie uma estrutura de repetio que conte de 110 at 120.

    // Nome do arquivo: de110a120.txt

    for(var x=110; x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 43/154

    document.write(x+", ")}

    Resultado: -10, -9, -8, -7, -6, -5, -4, -3, -2, -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,

    Exerccio 9. Crie uma estrutura de repetio que conte de -25 at -15.

    // Nome do arquivo: de25a15.txtfor(var x=-25; x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 44/154

    }

    Comando while

    O comando while utilizado quando se deseja repetir um comando, ou um grupo de comandos, enquanto

    uma dada condio for verdadeira. Um exemplo muito simples o de escrever os nmeros inteiros entre 1 e10 na tela. Para isto podemos construir um programa muito simples para esta tarefa

    i=1while(i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 45/154

    Resultado: 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20,

    Exerccio 3. Crie uma estrutura de repetio que imprima os nmeros mpares.

    x=1

    while(x < 21) {document.write(x+", ")

    x=x + 2}

    Resultado: 1, 3, 5, 7, 9, 11, 13, 15, 17, 19,

    Exerccio 4. Crie uma estrutura de repetio que imprima os nmeros mltiplos de 5.

    x=0

    while(x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 46/154

    document.write(x+", ")

    x=x + 8}

    Resultado: 40, 48, 56, 64, 72, 80,

    Exerccio 7. Crie uma estrutura de repetio que conte de 20 at 1 invertidamente.

    x=20while(x >= 1) {

    document.write(x+", ")

    x=x - 1}

    Resultado: 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,

    Exerccio 8. Crie uma estrutura de repetio que conte de -10 at + 10 (nmeros negativos e nmeros

    positivos)

    x=-10

    while(x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 47/154

    Exerccio 10. Crie um conjunto dos nmeros mltiplos de 3 usando a estrutura de repetio while.

    x=0

    while(x = 4) {

    document.write("vou assumir como um no")}

    Loops invertidos

    Assim como a instruo For e a instruo while, vistos anteriormente, o loop invertido, ao contrrio do

    comando while, um bloco de comando que ser executado pelo menos uma vez e ser repetido at que acondio associada seja verdadeira.

    H situaes em que importante se garantir a execuo de uma seqncia de comandos pelo menos uma

    vez. Veja um exemplo simples:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 48/154

    mes=prompt("Digite o ms:")

    mes=parseFloat(mes)while(mes12) {

    document.write("Digitao errada! Digite de novo.")

    mes=prompt("Digite o ms:")mes=parseFloat(mes)

    }

    Observe que, repetimos duas vezes o mesmo comando: "Digite o ms".

    Podemos simplificar este comando somente uma vez, usando a estrutura de repetio do while .

    do while o loop invertido de while.

    Usando o exemplo anterior iremos substituir o comando while pelo comando do , observe:

    do {

    mes=prompt("Digite o ms:")

    mes=parseFloat(mes)if(mes12){

    document.write("Digitao errada! Digite de novo")}

    } while (mes12)

    Pode-se tambm utilizar este comando para execues sucessivas de um programa. Neste caso, comum sefazer uma pergunta do tipo "Deseja continuar (s/n)?" aps cada execuo.

    Naturalmente, necessrio uma varivel do tipo caractere que receba a resposta do usurio e que ser

    utilizada para controlar a estrutura de repetio. Teramos algo como:

    // ...do {

    / * Seqncia de comandos do programa propriamente dito * /

    Resp=prompt("Deseja continuar (s/n)?","")

    } while(Resp.toUpperCase()!="N")

    Vale lembrar que a funo toUpperCase() retorna o argumento no formato maisculo.

    Observe mais um exemplo:

    do {

    num=prompt("Digite um nmero:","")num=parseFloat(num)

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 49/154

    if (num

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 50/154

    Escapando de um loop infinito utilizando ainstruobreak

    H uma maneira de escapar de um loop infinito. Voc pode utilizar a instruobreak(que significa parar)

    durante um loop para sair dele imediatamente e continuar a primeira instruo depois do loop. O exemploabaixo mostra o uso dessa instruo.

    n=0total=0

    while(true){

    n=n + 1total=total + n

    document.write(total+", ")

    if(total >= 100){break

    }}

    Embora a instruo while esteja configurada como um loop infinito, a instruo if verifica o valor

    correspondente. Se total maior que 100, sai do loop.

    Quando este tipo de cdigo encontra uma instruobreak, ele pula o resto do loop e continua o script com aprimeira instruo depois da chave de fechamento no final do loop. Voc pode utiliza a instruobreakem

    qualquer tipo de loop, seja infinita ou no.

    Comando de controle do Loop

    Break

    O comandoBreakinterrompe o comando while ou For que est sendo executado e transfere o controle doprograma para o comando seguinte aquele que encerra o loop.

    var i=0;

    while (i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 51/154

    Continue

    A declarao continue usada quando no se quer executar nenhum dos comandos daquele ponto at o fimdo bloco, mas queremos que o lao prossiga com a prxima interao. No caso do exemplo anterior, se i for

    10, o lao se interrompe e o restante da matriz no ser preenchido. Em lugar disto, podemos

    usarcontinueque no s salta o processo de atualizao, mas salta alm do calcula que iria provocar um erro.O seguinte cdigo permite que o lao continue, mas salta todos os nmeros mpares.

    var k=0;

    while(k

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 52/154

    a=2document.write("Se a=2")

    a++ document.write("O resultado de a++ "+ a)

    a=2

    document.write("Se a=2")++a

    document.write("O resultado de ++a "+ a)

    O resultado da execuo deste pequeno script o seguinte:

    Se a=2

    O resultado de a++ 3

    Se a=2

    O resultado de ++a 3

    Da mesma forma so os operadores decrementais a-- e --a, s substituir + + por --; porm o resultado

    1.

    Os operadores incrementais so muito usados em estruturas de repeties, tais como o For e o while.Exemplo:

    Exemplo 1:

    x=1

    while(x= 1){document.write(x+", ")

    --x

    }

    Resultado: 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1,

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 53/154

    Ateno programadores!!!

    Em linguagens de programao tais como Java e o Javascript devemos ter cuidado na hora de usaroperadores incrementais.

    Quando colocamos uma varivel e um outro operador de atribuio "=" na frente dos operadores

    incrementais + + e -- h uma sutil diferena:

    A=x++

    diferente de

    A= ++x

    Imagine que varivel x seja igual a 5. Nos dois casos o resultado de A deveria ser 6 nas duas operaes.

    Se:

    Se:

    A=5

    e:

    A=x++

    O resultado :

    A=5

    e:

    x=6

    Se

    A=5

    e:

    A=++x

    O resultado :

    A=6

    e:

    x=6

    Esta sutileza sinttica pode gerar pequenos erros de programao.

    Da mesma forma o operador decremental "--".

    Se:

    A=5

    e:

    A=x--

    Se

    A=5

    e:

    A=--x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 54/154

    O resultado :

    A=5

    e:

    x=4

    O resultado :

    A=4

    e:

    x=4

    Veja o exemplo na prtica:

    var a=2;

    document.write("Incrementos ")document.write("a=2 ")

    document.write("a++="+ a++ + "");a=2

    document.write("++a="+ ++a);

    O resultado da execuo deste pequeno script o seguinte:

    a=2

    a++=2

    ++a=3

    Operadores de atribuio

    Operadores de atribuio (semelhante aos operadores aritmticos) so smbolos usados pelo computador +

    , -, * , /, para efetuar clculos matemticos.

    Veja tabela abaixo:

    Nome Operador Utilizao Equivalente a

    Adio += a+=b a=a + b

    Subtrao -= a-=b a=a-b

    Multiplicao * = a * =b a=a * b

    Diviso /= a/=b a=a/b

    Mdulo %= a%=b a=a%b

    Concatenao += a+=b a=a+b

    Veja os exemplos:

    // Exemplo 1: a=2

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 55/154

    b=3

    a+=b // Resultado a=5, idntico a a=a + bdocument.write(a+"")

    // Exemplo 2:

    x=7

    y=4x-=y // Resultado x=3, idntico a x=x-y

    document.write(x+"")

    // Exemplo 3:V1=8

    V1*=2 // Resultado V1=16, idntico a V1=V1 * 2

    document.write(V1+"")

    // Exemplo 4:z=12

    z/=3 // Resultado z=4, idntico a z=z/3

    document.write(z+"")

    // Exemplo 5:h=9

    i=2h%=i // Resultado h=1, idntico a h=h%i

    // Observao: O operador Mdulo retorna o resto da diviso

    document.write(h+"")

    // Exemplo 6:Variavel="texto 1 "

    Variavel+="texto 2" // Resultado variavel="texto 1 texto 2" idntico a variavel=variavel."texto 2"

    document.write(Variavel+"")

    Array

    Array um conjunto de dados semelhantes (Como nmeros, letras ou strings) armazenados com o mesmo

    nome. Aos dados atribudo um nmero diferente no array.

    Quando o array tem somente uma dimenso, chamado de vetor.

    A maioria das linguagens de programao pode armazenar e manipular matrizes de uma ou mais dimenses.

    As matrizes multidimensionais so muito usados em simulao cientfica e no processamento matemtico;entretanto uma matriz pode ser apenas uma tabela de preos mantidas na memria para acesso instantneo

    por um programa de entrada de pedido.

    Tipos de Arrays

    Os arrays se dividem em dois grupos: vetores e matrizes.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 56/154

    Vetores so arrays com uma dimenso.

    Matrizes so arrays com mais de uma dimenso.

    Exemplos de vetores

    1 - Na horizontal

    sexo= Array("masculino", "feminino")

    numero=Array(1, 2, 3, 4, 5, 6, 7, 8, 9)

    vogais=Array("A", "E", "I", "O", "U")

    Frutas=Array("Banana", "Laranja", "Ma", "Mamo")

    Cursos=Array("Portugus", "Matemtica", "Fsica", "Qumica", "Biologia", "Ingls", "Geografia", "Histria")

    estadocivil=Array("solteiro", "casado", "divorciado", "vivo")

    2 - Na vertical

    sexo=Array()

    sexo[0]="masculino"

    sexo[1]="feminino"

    numero=Array()numero[0]=0

    numero[1]=1

    numero[2]=2numero[3]=3

    numero[4]=4numero[5]=5

    numero[6]=6

    numero[7]=7numero[8]=8

    numero[9]=9

    vogais=Array()vogais[0]="A"

    vogais[1]="E"

    vogais[2]="I"

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 57/154

    vogais[3]="O"vogais[4]="U"

    Fruta=Array()

    Fruta[0]="Banana"Fruta[1]="Laranja"

    Fruta[2]="Ma"

    Fruta[3]="Mamo"

    Cursos=Array()Cursos[0]="Portugus"

    Cursos[1]="Matemtica"

    Cursos[2]="Fsica"Cursos[3]="Qumica"

    Cursos[4]="Biologia"Cursos[5]="Ingls"

    Cursos[6]="Geografia"

    Cursos[7]="Histria"

    estadocivil=Array()estadocivil[0]="solteiro"

    estadocivil[1]="casado"

    estadocivil[2]="divorciado"estadocivil[3]="vivo"

    Usando vetores

    Exerccio 1. Elabore um vetor vertical que contenha os dias da semana.

    var lista= new Array();lista[0]="Segunda";

    lista[1]="Tera";lista[2]="Quarta";

    lista[3]="Quinta";

    lista[4]="Sexta";lista[5]="Sbado";

    lista[6]="Domingo";

    document.write("Dias da semana: ");

    for (var x=0; x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 58/154

    Exerccio 2. Elabore um vetor horizontal que contenha os meses do ano.

    var mes=Array("Janeiro", "Fevereiro", "Maro", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro",

    "Outubro", "Novembro", "Dezembro")

    document.write("Mes do ano: ");

    for(var x=0; x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 59/154

    Nome[2]="Cludio"

    idade[2]=23Nome[3]="Susana"

    idade[3]=27

    Nome[4]="Marcos"idade[4]=16

    Nome[5]="Celina"idade[5]=35

    for(var i=0; i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 60/154

    if(bairros[i]=="Botafogo"){

    document.write("Nome da rua: " + ruas[i])document.write(" Nome do bairro: " + bairros[i]+"")

    }

    }

    Exerccio 5. Faa um programa para imprimir o signo do zodaco correspondente a uma data qualquer (dia /ms).

    A tabela a seguir mostra o ltimo dia de cada ms e o signo correspondente:

    Mes ltimo dia Signo

    01 20 Capricrnio

    02 19 Aqurio

    03 20 Peixes

    04 20 ries

    05 20 Touro

    06 20 Gmeos

    07 21 Cncer

    08 22 Leo

    09 22 Virgem

    10 22 Libra

    11 21 Escorpio

    12 21 Sagitrio

    Importante: Armazene o horscopo em uma array.

    mes=Array()

    dia=Array()signo=Array()

    mes[0]=1dia[0]=20

    signo[0]="Capricrnio"

    mes[1]=2dia[1]=19

    signo[1]="Aqurio"mes[2]=3

    dia[2]=20

    signo[2]="Peixes"mes[3]=4

    dia[3]=20signo[3]="ries"

    mes[4]=5

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 61/154

    dia[4]=20signo[4]="Touro"

    mes[5]=6

    dia[5]=20signo[5]="Gmeos"

    mes[6]=7dia[6]=21

    signo[6]="Cncer"

    mes[7]=8dia[7]=22

    signo[7]="Leo"mes[8]=9

    dia[8]=22

    signo[8]="Virgem"mes[9]=10

    dia[9]=22signo[9]="Libra"

    mes[10]=11

    dia[10]=21signo[10]="Escorpio"

    mes[11]=12dia[11]=21

    signo[11]="Sagitrio"

    document.write("Tabela de signos:")

    for(x=1; x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 62/154

    planeta=Array()

    luas=Array()

    anos=Array()distancia=Array()

    planeta[0]="Mercrio"

    luas[0]=0

    anos[0]=0.24distancia[0]=58

    planeta[1]="Vnus"luas[1]=0

    anos[1]=0.625

    distancia[1]=108 planeta[2]="Terra"

    luas[2]=1anos[2]=1

    distancia[2]=150

    planeta[3]="Marte"luas[3]=2

    anos[3]=1.91

    distancia[3]=228

    document.write("Planeta luas anos distncia")

    for(indice=0; indice

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 63/154

    A array multidimensional mostrado acima pode ser alocado de forma dinmica. Veja a tabela abaixo:

    Coluna 1 Coluna 2 Coluna 3

    Linha 1 a[0][0] a[0][1] a[0][2]

    Linha 2 a[1][0] a[1][1] a[1][2]

    Linha 3 a[2][0] a[2][1] a[2][2]

    Linha 4 a[3][0] a[3][1] a[3][2]

    Existem 4 formas de transformar uma tabela em matriz, veja o exemplo:

    Cada aluno tem a sua nota, veja a tabela abaixo:

    Notas Nota 1 Nota 2

    Aluno01 7 7.5

    Aluno02 6 5.5

    Aluno03 7 8

    Aluno04 3 7.5

    Aluno05 4 4.5

    Existem vrias formas de transformar tabelas em matrizes. Vejamos o exemplo 01:

    No 1 exemplo vamos transformar uma matriz de duas colunas em 2 vetores, veja:

    Nota1=Array()

    Nota2=Array()Nota1[0]=7

    Nota2[0]=7.5

    Nota1[1]=6Nota2[1]=5.5

    Nota1[2]=7

    Nota2[2]=8Nota1[3]=3

    Nota2[3]=7.5Nota1[4]=4

    Nota2[4]=4.5

    /* O exemplo acima no uma matriz, mas sim, dois vetores vistos na lio anterior. Podemos substituir

    matrizes por vetores. Do exemplo 2 em diante, os vetores so substitudos por matrizes. */

    // Para saber quanto o aluno 04 tirou na 2 nota fcil:

    document.write(Nota2[4-1])// Observe que o aluno 04 3 (4-1) porque as notas iniciam com 0 e no com 1

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 64/154

    Exemplo 02:

    Do exemplo 2 em diante transformamos a tabela em matriz.

    Aluno01=0Aluno02=1

    Aluno03=2

    Aluno04=3Aluno05=4

    Nota1=0

    Nota2=1

    // Para no dar erros eu criei 2 Arrays e no 4 Arrays diferentesClasse=Array(Array(),Array())

    Classe[Nota1][Aluno01]=7Classe[Nota2][Aluno01]=7.5

    Classe[Nota1][Aluno02]=6Classe[Nota2][Aluno02]=5.5

    Classe[Nota1][Aluno03]=7

    Classe[Nota2][Aluno03]=8Classe[Nota1][Aluno04]=3

    Classe[Nota2][Aluno04]=7.5Classe[Nota1][Aluno05]=4

    Classe[Nota2][Aluno05]=4.5

    // Para saber quanto o aluno 05 tirou na 1 nota fcil:

    for(var y=0; y

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 65/154

    Classe[0][3]=3Classe[1][3]=7.5

    Classe[0][4]=4

    Classe[1][4]=4.5

    // Para saber quanto o aluno 02 tirou na 2 nota fcil:for(var y=0; y

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 66/154

    6 Celina 35

    Com base nesta informao, diga o que ser impresso pelas instrues abaixo:

    for(var i=0; i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 67/154

    Matriz[idade][0]=19

    Matriz[nome][1]="Pedro"

    Matriz[idade][1]=32Matriz[nome][2]="Cludio"

    Matriz[idade][2]=23Matriz[nome][3]="Susana"

    Matriz[idade][3]=27

    Matriz[nome][4]="Marcos"Matriz[idade][4]=16

    Matriz[nome][5]="Celina"

    Matriz[idade][5]=35

    for(var i=0; i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 68/154

    Array("Pedro", 32),

    Array("Cludio", 23),Array("Susana", 16),

    Array("Marcos", 16),

    Array("Celina", 35))

    for(var i=0;i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 69/154

    }

    document.write("Ruas do bairro de Botafogo")

    for(var i=0; i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 70/154

    Array(9, 22, "Virgem"),Array(10, 22, "Libra"),

    Array(11, 21, "Escorpio"),

    Array(12, 21, "Sagitrio"))

    mes=0dia=1

    signos=2

    document.write("Tabela de signos")

    for(var x=0; x

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 71/154

    Matriz[distancia][1]=108Matriz[Planeta][2]="Terra"

    Matriz[luas][2]=1Matriz[anos][2]=1

    Matriz[distancia][2]=150

    Matriz[Planeta][3]="Marte"Matriz[luas][3]=2

    Matriz[anos][3]=1.91Matriz[distancia][3]=228

    document.write("Planeta luas anos distncia")

    for(var indice=0; indice

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 72/154

    document.write(a * b/c)

    }

    // Programa principal

    Calcule(4, 3, 2)

    O exemplo acima a funo no retornou valores.

    Em um nico programa pode ser armazenado vrias funes diferentes, por exemplo:

    // Funes

    function Adicao(a, b){c=a + b

    return c

    }

    function Subtracao(a, b) {return a-b

    }

    function Multiplicacao(a, b) {

    c=a * breturn c

    }

    function Divisao(a, b){

    return a/b}

    // Programa principal

    document.write("2 + 8=" + Adicao(2, 8)+"")document.write("7-3=" + Subtracao(7, 3)+"")

    document.write("3 * 4=" + Multiplicacao(3,4)+"")

    document.write("8/2=" + Divisao(8, 2)+"")

    Lista de exerccios

    Exerccio 1. Crie uma funo que calcule a soma de dois nmeros

    function soma(x, y) {

    var sum=x + y

    return sum}

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 73/154

    //Programa principal

    document.write("A soma de 5 e 4 " + soma(5, 4))

    Exerccio 2. Crie uma funo que calcule o cubo de um nmero.

    function cubo(x){

    var cubocubo=x * x * x

    return cubo

    }

    // Programa principaldocument.write("O cubo de 8 igual a " + cubo(8))

    Exerccio 3. Crie uma funo que calcule a rea do retngulo

    function calcArea(largura, altura){

    a=largura * alturareturn a

    }

    // Programa principallargura=4

    altura=8

    document.write(calcArea(largura, altura))

    Exerccio 4. Crie uma funo que calcule nmeros fatoriais

    function fatorial(num){

    res=1for(var k=num; k>=1; k--){

    res=res * k

    }return res

    }

    // Programa principal

    for(var k=1; k

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 74/154

    document.write(k, "!=",fatorial(k)+"")

    }

    Variveis nulas (NULL)

    Afinal o que Null?

    1 - Null um valor que indica dados ausentes ou desconhecidos em um campo

    2 - nulo

    3 - vazio

    4 - sem valor

    Assim como existe variveis numricas (var_1=9), variveis strings (var_2="Texto") e variveis booleanas

    (var_3=true) existem as variveis nulas (var_4=null).

    Ateno: encontrar variveis nulas num cdigo fonte so raros, mas de vez enquanto aparecem, os exemplosabaixo so simplesmente demonstraes.

    Quando voc que limpar uma varivel em fao o seguinte:

    1 exemplo:

    Var_1=9

    Var_2="Texto"Var_3=true

    //Limpando as variveis

    Var_1=null

    Var_2=nullVar_3=null

    2 exemplo:

    Nome=nullSobrenome=null

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 75/154

    if(Nome==null) {Nome="Marcos"

    }

    if(Sobrenome==null){

    Sobrenome="Aurelio"}

    document.write(Nome + " " + Sobrenome)

    3 exemplo:

    a=10

    b=null

    c=5

    resp=0if(a==null){

    resp=b + c} else if(b==null) {

    resp=a + c

    } else if(c==null) {resp=a + b

    } else {

    resp=a + b + c}

    document.write(resp)

    Trabalhando com formulrios

    Formulrio um documento estruturado com espao reservado para a entrada de informaes e, em geral,

    contendo alguns cdigos especiais. Em algumas aplicaes (especialmente banco de dados), formulrio

    uma caixa ou janela ou outro elemento de apresentao independente com reas predefinidas para a entradaou a alterao de informaes. Um formulrio um "filtro" visual para os dados bsicos que esto sendo

    apresentados, em geral oferecendo as vantagens de uma melhor organizao de dados e maior facilidade de

    visualizao.

    Quem utiliza os formulrios so as seguintes linguagens de programao:

    Visual Basic, Delphi, Java, Html, Javascript e outros.

    Outras linguagens de programao antigas que usam o sistema Dos tais como Pascal, Clipper e outros no

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 76/154

    usam formulrios.

    Se ns fizermos uma comparao entre as linguagens de programao mais usadas encontraremos osseguintes objetos.

    1) Formulrio

    2) Boto de comando

    2.a) Boto fechar:

    2.b) Boto limpar:

    3) Caixa de texto:

    4) Rtulo (Label):

    5) Senha (Password):

    6) rea de texto:

    7) Boto de opo:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 77/154

    8) Caixa de seleo:

    9) Caixa de combos:

    10) Caixa de listagem

    11) Caixas de dilogo

    12) Hiperlinks

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 78/154

    13) Imagens

    14) Barra de menu

    15) Abrindo uma nova janela

    Iremos estudar cada um com mais detalhes:

    1) Formulrio:

    Para sistamas via web tais como: o Html, o Javascript e o vbscript. Para criar um formulrio, voc utiliza a

    tag . Assim como as tabelas, que usam o comando , o formulrio usa o

    comando ... para definir a abertura e o fechamento do mesmo.

    A forma geral do comando a seguinte:

    ...

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 79/154

    Seus parmetros so:

    Parmetros Definio

    methodEsse parmetro especifica o metodo que ser usado para enviar o formulrio, usa os

    parmetros get e post.

    action O parmetro action especifica a URL que ser processado.

    A tag usa dois parmetros action e method, veja abaixo:

    METHOD o parmetro que define o metodo de envio de formulrio para o servidor onde est hospedadoseu site. O parmetro method s pode ter dois valores: "get" e "post"; mas o method="post" o mais

    usado, acostume a utilizar o post.

    ACTION o parmetro que define o endereo (www.servidor.com.br) e a pgina (bancodedados.php)

    onde os dados do formulrio sero enviados.

    Para enviar os dados do formulrio para o nosso servidor utilizamos o boto Submit:

    Que iremos ver logo em seguida.

    Observao: o boto enviar, o boto upload e o boto limpar s existem em Html, Javascript, PHP e ASP.

    a) Boto Enviar (Submit)

    Para enviarmos os dados do formulrio para o servidor onde est o banco de dados, devemos criar o boto

    Submit.

    b) Boto Limpar (Reset)

    Se voc inserir novas informaes para os campos do formulrio, ter de apagar e digitar o texto nos

    campos de digitao. Por meio do boto Limpar tudo, voc pode apagar e restabelecer o valor padro para

    todos os campos do formulrio de uma nica vez.

    Veja o comando limpar abaixo:

    Veja o exemplo com os comandos enviar (Submit) e apagar (Reset) dentro de um formulrio:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 80/154

    Digite seu nome:

    c) Fazendo um Upload de seus arquivos

    Se voc quizer enviar a sua foto para o seu lbum de fotografia, este comando prprio para isto. Este

    comando envia para o servidor qualquer tipo de arquivo.

    Sintaxe:

    Seus parmetros so:

    Parmetros Definio

    name Define o nome deste comando

    Clicando no boto voc abre uma janela e nesta janela voc anexa seu arquivo na pgina de seu navegador.No campo ao lado do boto est o caminho do arquivo dentro de seu computador, exemplo:

    c:\Pasta1\Histria\Feudalismo.doc

    Exemplo:

    Envie sua foto aqui:

    2) Boto de comando

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 81/154

    Se no quero enviar os dados do formulrio para o servidor mas que os dados fiquem no navegador usamos

    o boto de comando (button), veja:

    Seus parmetros so:

    Parmetros Definio

    name Define o nome do boto de comando

    value Imprime um texto no boto

    onclick Executa uma funo quando o usurio der um clique no boto

    O boto de comando, que tambm um campo input e usa trs parmetros (type, value e onclick), usa

    tambm a linguagem Javascript.

    Para inserir um boto de comando use o parmetro input type="button", seguido do valor VALUE que emnosso caso value="Clique aqui!" pode ser alterado por um outro valor. O evento onclick envia os dados do

    formulrio para a linguagem Javascript. Veja um exemplo prtico.

    Exemplo

    function meunome(formulario) {

    alert("Meu nome :"+formulario.campo.value)}

    Digite seu nome:

    Iremos discutir o evento onclick, o comando this.form e a funo meu nome posteriormente.

    3) Caixa de texto

    Este o comando mais usado para digitao de um campo de texto:

    Seus parmetros so:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 82/154

    Parmetros Definio

    name Define o nome da caixa de texto

    value Escreve um valor na caixa de text

    size Define o tamanho da caixa de texto

    maxlength Permite um limite de digitao de n caracteres

    Veja o exemplo abaixo:

    Campo 1:

    Campo 2:

    Campo 3:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 83/154

    sendo digitados.

    Seus parmetros so:

    Parmetros Definio

    name Define o nome do password

    size Define o tamanho do password

    maxlength Permite um limite de digitao de n caracteres

    Exemplo:

    Digite uma senha:

    Resultado:

    5) Texto oculto (Hidden)

    Os campos ocultos no so apresentados no formulrio. Eles ficam invisveis na apresentao do navegador.

    Se algum decidir consultar o cdigo fonte Html da sua pgina este campo sero apresentados.

    Seus parmetros so:

    Parmetros Definio

    name Define o nome do texto oculto

    value Valor do texto oculto

    Exemplo:

    6) rea de texto (Textarea)

    Define uma caixa de digitao onde o usurio pode digitar livremente um texto com vrias linhas.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 84/154

    [texto padro]

    Seus parmetros so:

    Parmetros Definio

    name Define o nome da rea de texto.

    rows Especifica a altura, ou seja, a quantidade de linhas que a caixa deve ter.

    cols Especifica a largura, ou seja, a quantidade de colunas que a caixa deve ter.

    Exemplo:

    Digite seus comentrios

    Resultado:

    Cdigo fonte:

    Coloque um limite de digitao de n caracteres igual a maxlength da caixa de texto:

    Untitled Document

    function updateCharCount(textareaId, spanId, maxSize) {textarea = document.getElementById(textareaId);if (textarea == null) {

    return;}if (textarea.value.length > maxSize) {

    textarea.value = textarea.value.substring(0, maxSize);}document.getElementById(spanId).innerHTML = maxSize - textarea.value.length;

    }

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 85/154

    Caracteres restantes: 2048

    Resultado:

    7) Boto de opo (Radio):

    Os botes de opo indicam uma lista de tens, dos quais apenas um pode ser escolhido. Se um dos botesde opo for selecionado, todos os demais sero desativados.

    Seus parmetros so:

    Parmetros Definio

    name Define o nome do boto

    value Valor do boto de opo

    checked Esse parmetro indica que o tem est pr-selecionado

    Exemplo:

    Escolha a sua corVerdeAmarelo

    Azul

    Resultado:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 86/154

    8) Caixa de seleo (checkbox)

    A caixa de seleo parece com o boto de opo, vista anteriormente, mas tem uma diferena inportante.

    As caixas de seleo permitem a seleo de vrios tens de uma lista. Cada caixa de verificao pode estarativada o desativada (o padro desativado).

    Seus parmetros so:

    Parmetros Definio

    name Define o nome do boto

    value valor do boto

    checked Esse parmetro indica que o tem est pr-selecionado

    Exemplo:

    Negrito

    ItlicoSublinhado

    Resultado:

    9) caixa de combos (select)

    Este elemento corresponnde a uma caixa de escolha, na qual o usurio pode selecionar um conjunto pr-determinado de tens.

    Sua sintaxe diferente do campo descrito anteriormente, veja:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 87/154

    Opo da seleo

    Selees adicionais

    Seus parmetros so:

    Parmetros Definio

    name Define o nome desta caixa de combos

    option Define uma lista de palavras que sero selecionadas numa lista de opes

    select Este parmetro indica que o tem est pr-selecionado

    value Valor do tem selecionado

    Exemplo:

    Estado onde mora

    Rio de JaneiroSo PauloMinas Gerais

    Espirito SantoNenhuma das anteriores

    Resultado:

    10) Caixa de listagem (Select)

    A caixa de listagem semelhante a caixa de combos. Este comando exibe uma lista de tens que podem ser

    selecionados pelo usurio.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 88/154

    Tem a mesma sintaxe da caixa de combos, s aparece quando o parmetro SIZE for especificado.

    Seus parmetros so:

    Parmetros Definio

    name Define o nome da caixa de listagem

    sizeParmetro que designa o nmero de escolhas a mostrar. Se no for preenchido, os temssurgem como caixa de combos, caso contrrio, surgem dentro da caixa de listagem com o

    nmero de elementos visveis colocado em size.

    option Define uma lista de palavras que sero selecionadas numa lista de opo.

    select Este parmetro indica que o tem est pr-selecionado

    value valor do tem selecionado

    multiple Esse parmetro opcional indica que podem ser escolhidos mltiplos tens da lista

    Exemplo

    Instrumento musical:

    VioloGuitarraBaixo

    TecladoBateriaSax

    Resultado:

    Obs: para selecionar dois ou mais itens da lista pressione shift ou ctrl e selecione o item com o

    mouse.

    O parmetro value:

    Tanto a caixa de combos quanto a caixa de listagem, eu posso usar ou omitir o parmetro value, por

    exemplo:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 89/154

    Item 1Item 2

    Item 3

    11) Caixas de dilogos:

    Caixa de dilogo uma janela que um programa abre na tela para solicitar algum tipo de reposta do usurio.

    So 3 tipos de caisas de dilogos:

    a) Caixa para aletar (alert)

    b) Caixa para escrever (prompt)

    c) Caixa para confirmar (confirm)

    Todas estas caixas esto contidos na linguagem Javascript.

    11. a) Caixa para aletar (alert)

    Este tipo de caixa avisa ao usurio se alguma coisa est dando errado, para depois o mesmo consertar.

    Sua sintaxe :

    alert("texto a ser exibido")

    Exemplo:

    alert("Bom dia!")

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 90/154

    11.b) Caixa para escrever (prompt)

    Esta caixa insere algum texto dentro da pgina html.

    Sua sintaxe :

    Sada_de_texto=prompt("Texto a ser exibido","Texto a ser escrito")

    Exemplo:

    var nome=prompt("como se chama","");document.write("Ol!meu nome "+nome);

    11.c) Caixa para confirmar (confirm)

    Quando executamos algum procedimento aparece uma janela pedindo se deseja confirmar esteprocedimento. A caixa para confirmar retorna os valores true (confirmado) ou false (no confirmado).

    Sua sintaxe :

    Verdadeir_ou_falso=confirm("Pergunta a ser feita.");

    Exemplo:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 91/154

    if(confirm("Tem certeza de excluir o arquivo?"))

    document.write("Documento excludo");elsedocument.write("Documento no foi excludo");

    Ateno:

    Podemos usar outros tens do Html e transform-los em tens do formulrio, tais como:

    Alterando a imagem atravs de um boto;Transformando um link em um boto de comando e

    Criar uma barra de menu dentro da pgina html.

    Isto material a mais para vocs estudarem.

    12) Hiperlinks

    Nas pginas web, um hiperlink um boto ou trecho destacado do texto que, ao ser selecionado, remete o

    leitor a uma outra pgina.

    Veja um exemplo de link:

    Pgina 1

    Podemos transformar um hiperlink em um boto de comando Javascript.

    Basta inserir dentro do atributo href o comando - "javascript:" + (mais) o comando de execuo, exemplo:

    Boto de comando

    Veja um exemplo de boto usando um link:

    Exemplo 1

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 92/154

    Boto 1

    Boto 2

    13) Imagens

    Imagem a representao grfica ou fotogrfica de pessoas ou objetos, com um conjunto de valores de

    brilho e cor em pixel, armazenadas num arquivo bitmap.

    Observao:

    Tambm podemos usar o evento onclick em substituio ao href="javascript:", a diferena que onclickno usa a esteno "javascript:" em seu atributo, ex:

    Para inserir uma imagem s colocar este comando:

    Onde o parmetro src o caminho onde est a imagem no computador ou servidor.

    No Javascript, o objeto imagem usa os seguintes eventos:

    Eventos Descrio

    onmouseover Executa um comando quando passamos o mouse sobre o objeto selecionado.

    onmouseout Executa um comando quando o mouse est fora do objeto selecionado.

    Exemplo:

    Observemos esta imagem:

    Quando passamos o mouse sobre esta imagem, ela se altera, veja:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 93/154

    Quando tiramos o mouse sobre a imagem, ela volta ao normal:

    Para testar use os seguintes comandos:

    Onde:

    primeiraimagem= segundaimagem=

    14) Barra de menu:

    A barra de menu uma faixa retangular apresentada em geral na parte superior da janela de um programaaplicativo, ou a esquerda numa pgina web, na qual o usurio pode selecionar um entre os vrios menusdisponveis. Os nomes dos menus disponveis so apresentados na barra de menus. A seleo de um desses

    nomes com o teclado ou o mouse faz com que a lista de opes do menu correspondente seja mostrada natela.

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 94/154

    15) Abrindo uma nova Janela:

    Para a web, essas janelas so chamadas de Pop-up ou janela instantnea; estas janelas podem ser exibidas aqualquer momento na tela.

    Existem quatro tipos de pop-up:

    Pop-up externo;

    Pop-up interno;Frames eJanela Modal .

    Pop-up externo

    Este tipo de pop-up fica externamente ao navegador, muitos usurios acham estas janelinhas chatas de fechare muitos navegadores bloqueiam estas janelas. Eles so escritos em Javascript.

    Open(): O mtodo open [abrir], que no deve ser confundido com o mtido document.open(), usado para

    abrir uma nova janela. Os argumentos padro que este mtodo assume so:

    msgWindow=window.open("", "Hello", "toolbar=no, width=200, height=100");

    Observe o uso da cadeia "toolbar=no, width=200, height=100" para definir os parmetos da janela. Estesparmetros podem ser definidos somente na abertura de novas janelas e no afeta a janela pai, ou a janelamais alta. A lista completa de argumentos de propriedades vlidos :

    toolbar = yes|no [Barra de ferramentas]

    location = yes|no [Localizao]

    diretories = yes|no [Diretrios]

    status = yes|no [Status]

    menubar = yes|no [Barra de menus]

    scrollbar = yes|no [Barra de rolagem]

    resizable = yes|no [Tamanho altervel]

    windth= pixels [Largura em pixels]

    height = pixels [altura em pixels]

    left = pixels [posiciona da esquerda para direita]

    top = pixels [posiciona de cima para baixo]

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 95/154

    Veja um exemplo deste tipo de janela:

    Funciona bem no Internet Explorer

    function makeArray(n){this.length=n;

    for(var i=0; i

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 96/154

    ver.document.open()// ver.document.write(document.forms[0].elements[0].value)ver.document.write(form1.texto.value)

    ver.document.write("") ver.document.close()}

    Insira o texto aqui

    Veja outro exemplo de Pop-up que abre um documento Html:

    Empresa x Empresa y

    Pop-up interno

    Este tipo de pop-up fica internamente ao navegador, muitos browsers no bloqueiam este tipo de janela. Ele

    escrito parte em CSS e parte em Dhtml.

    Veja exemplo:

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 97/154

    Pop-up no bloquevel

    #popup {position: absolute;

    top: 30%;left: 30%;width: 300px;

    height: 150px;padding: 20px 20px 20px;border-width: 2px;border-style: solid;

    background: #ffffa0;display: none;}

    function fechar() {document.getElementById('popup').style.display='none';}

    function abrir() {document.getElementById('popup').style.display='block';setTimeout("fechar()",3000);}

    Esse e um exemplo de popup utilizando DIV. Dessa maneira esse pop-up no ser bloqueado.

    [X]

    Abrir POPUP

    Fechar POPUP

    Outra forma de usar o CSS junto com o Dhtml aparecer e desaparecer texto, veja o cdigo:

    Aparecer e desaparecer texto

  • 14/8/2014 Apostila Javascript

    http://www.webteste123.com/curso_web/informatica/web/apostilas/programacao/javascript/javascript.html 98/154

    function aparecer() {

    if(identificado.style.display=='none') {identificado.style.display='';} else {

    identificado.style.display='none';};}

    -->

    APARECER

    Texto includo pelo botoTexto includo pelo boto

    Texto includo pelo botoTexto includo pelo botoTexto includo pelo boto

    Texto fora da tag DIV

    Frames

    Para j, vou apresentar as frames. Utilisar as frames permite a diviso de janelas afixando a pgina HTMLem vrias partes independentes ums dos outros. Pode-se assim caregar diferentes pginas em cada parte.

    Para a sintaxe Html das frames, recomendo o tutorial de HTML

    Em Javascript, interessa a capacidade das frames in