Expressões e operadores. Operadores JavaScript Tags Lista marcada

Primeiro brevemente sobre expressões em javascript.

Expressões javascript.

Em JavaScript, há instruções e expressões.

Instruções não retornam valores.

Expressões sempre Retornar alguns valores. Quando o interpitador vê a expressão, calcula seu valor e substitui a expressão pelo seu valor.

As expressões são simples e compósitas. Expressões simples não incluem outras expressões.

Expressões simples incluem:

  1. Identificadores: somevar (nome da variável);
  2. Literais: "string" ou 675 (número ou literal numérico);
  3. Algumas palavras-chave, como esta;

Quando o analisador detecta o identificador, primeiro precisa ser calculado, isto é, por exemplo, substituir o nome da variável por seu valor.

O valor do literal será escrito no código de script.

Operadores e expressões complexas de javascript

Para combinar várias expressões simples em um complexo operadoras são usadas.

Os operadores são:

  • Unário (um operando).
  • Binário (dois operandos).
  • Operador do Terner? Em JavaScript (três operandos, há apenas um operador ternário).

O operando é uma expressão simples para a qual o operador é aplicado.

Por exemplo, o operador de adição aritmética "+" é um operador binário. Resume o operando esquerdo e direito e retorna o valor.

Var dígito \u003d 4 + 7;

By the way, a tarefa ocorre com o operador de atribuição "\u003d". Este operador calcula o valor do operando direito e atribui-lo ao operando esquerdo.

JavaScript tem um unário Plus, tem apenas um operando. Unary Plus não é um operador aritmético, ele converte o operando ao número.

Var myvar \u003d "7"; Document.write (TypeOf (Myvar) + "
"); // Imprime na string myvar \u003d + documento myvar; document.write (TypeOf (Myvar) +"
"); // Imprimir no número do documento

Primeiro, a variável MyVar continha a string "7", este é um tipo de linha literal (string) e não numérico (número). Com a ajuda do operador, o Unário Plus transformamos o literal de cordas no numérico.

Operaçoes aritimeticas

As operações aritméticas são todas as ações matemáticas conhecidas.

Talvez o operador% (equilíbrio da divisão) precisa de explicação. 9 é dividido em 5 com o resíduo 4, é esse equilíbrio que retorna este operador. Além disso, é chamado de tomar o módulo. Ao usar inteiros, o resultado da operação deste operador também será um inteiro. Ao operar com números de ponto flutuante, o resultado será um número de ponto flutuante.

5.5 % 2.2 = 1.1

Em operações aritméticas, deve ser lembrado que com a execução incorreta, elas podem resultar em resultados:

  • Nan (não um número) não é um número.
  • Infinito - infinito.

Isso é o que levará a divisão a zero:

Var myvar \u003d 0/0; Document.write ("Valor Variável:" + Myvar + ", seu tipo:" + TypeOf (MyVar) + "
");

Operações de comparação

As operações de comparação são usadas para comparar expressões. A expressão com o operador condicional retorna um valor booleano - verdade ou falso (verdadeiro / falso).

Compare as operações podem ser realizadas com linhas, isso será discutido em outra lição. A única condição do resultado correto é comparar os dados do mesmo tipo. Caso contrário, o JavaScript tentará traduzir dados de um tipo para outro, e isso nem sempre é possível. Para evitar erros comparar apenas um tipo de dados.

Operações de Atribuição

O exemplo mais óbvio da operação de atribuição é uma tarefa simples (\u003d). Este operador (\u003d) é usado para atribuir o valor da variável.

Mas há mais algumas operações de tarefas que são abreviaturas.

Operações lógicas

As operações lógicas são frequentemente usadas com o mais se o design em JS. É nos exemplos desse design que seu trabalho será demonstrado. Mas primeiro a lista de operadores lógicos.

Agora exemplos simples:

If (verdadeiro && true) document.write ("funciona!
"); se (verdadeiro || false) document.write (" funciona!
"); se (! falso) document.write (" funciona!
");

Vamos analisar esses exemplos:

O operador lógico e (&&) retornará a verdade se ambos os operandos forem verdade.

A declaração é lógica ou (||) retornará a verdade se pelo menos um operando for verdadeira.

A declaração não é um lógico (!) Leva um operando e altera o valor da verdade / mentiras para o oposto.

Operadores unários.

Os operadores unários são operadores com um operando. Aqui estão alguns desses operadores:

  • ++ - incremento para 1 (incremento). Pode ser prefixo e postfix, sobre isso abaixo.
  • - - redução a 1 (decremento). Pode haver um prefixo e postfix, sobre isso também abaixo.
  • + - Unário Plus.
  • - - Unário menos.

Unário menos.

Unary Minus altera o sinal de expressão para o oposto. Por exemplo, quando você escreve no programa -100, você simplesmente aplica 100 menos ao literal numérico.

Você precisa entender exatamente como o Unário menos funciona - retorna o valor do operando com o sinal oposto. Aqui está um exemplo como usar o Unário menos:

Var myvar \u003d -100; Document.write (-Myvar + "- Unário menos trabalhado, mas a variável também é \u003d" + myvar + ".
"); Myvar \u003d -myvar; document.write (" agora a variável \u003d "+ myvar +".
");

Damos um exemplo indispensável de um duplo unário menos. Eu acho que para fins educacionais será útil:

Var myvar \u003d -100; Document.write (- Myvar + "é um incremento, e não um duplo unário menos.
"); document.write (" Agora a variável \u003d "+ myvar +".
"); Document.write (- (- myvar) +" e esta é uma aplicação dupla de um unário menos.
");

Unário Plus.

Unary Plus não faz ações matemáticas. Ele lidera um literal ao tipo numérico.

Var myvar \u003d "78687"; Document.write (TypeOf (MyVar) +.
"); myvar \u003d + myvar; document.write (TypeOf (Myvar) +.
");

Incremento e decrement

Na programação, muitas vezes é necessário aumentar ou diminuir o valor da variável por unidade. Para isso, há operadores unários:

  • ++ - incremento para 1 (incremento).
  • - - redução a 1 (decremento).

Ao contrário do Unário Plus e Menos, o incremento e o decremão altera o valor da variável ao chamar.

Var myvar \u003d 10; Document.write (++ myvar +.
"); Document.write (myvar +.
");

Decrement (-) é válido de forma semelhante.

Agora, considere o prefixo e o uso de postfix desses operadores.

  • ++ MyVar - Prefixo Aumentar por 1.
  • myVar ++ - Aumento do postfix por 1.

A diferença é:

  • O uso do prefixo desses operadores primeiro calcula o valor do operador unário e usa o resultado na expressão.
  • O postfix use primeiro calcula a expressão e execute um operador unário (++ ou -).

Isso ajudará você a entender um simples exemplo:

Var myvar \u003d 10; Document.write ((++ myvar + 5) + ".

"); var myvar \u003d 10; document.write ((myvar ++ + 5) +".
"); Document.write (" variável \u003d "+ myvar +".
");

Incremão e diminuição é permitido apenas para ser usado com variáveis, é impossível aplicá-los a literais literais numéricos. Basta colocar o erro ++ 7 DAS no script.

Outros operadores

Em JavaScript, existem outros operadores:

  • Ternerário (com três operandos) operador

var a \u003d 10; Var b \u003d (a\u003e 1)? 100: 200; Alerta (b);

Se condição a\u003e 1. Verdade, então variável b. Atribuir um valor 100 caso contrário, a variável B atribuir o valor 200 .

Tarefa JS 3_4. Para complementar o código: 3 variáveis \u200b\u200blocais são anunciadas usando a palavra-chave var. É necessário atribuir o valor da próxima declaração ternária na variável máxima: se A for maior que B, retorne A, caso contrário, retornarmos b.
Fragmento de código:

se (a * b< 6) { result = "Мало"; } else { result = "Много"; }


Perguntas para o autocontrole:

  1. Qual é a sintaxe do operador ternário?
  2. Quantos argumentos têm um operador ternário?

Operador de comutação em JavaScript - switch

O operador JavaScript do Switch serve para verificar a variável para uma variedade de valores:

Sintaxe:

interruptor (variável ou expressão) (Opção de caso1: //..block Operadores .. Break Case Opção2: //..block Operadores .. Break Padrão: //... BLOCK OPERADORES ..)

O valor de uma variável ou expressão é verificado: em cada caso. Um dos valores é verificado, no caso de um valor adequado, um ou outro bloco de operadores correspondentes a este caso..

Um bloco que começa com o padrão de serviço do serviço pode ser omitido. Os operadores de bloco serão executados se nenhum dos valores listados em todos caso. Não apropriado.

Importante: O operador de interrupção é necessário após cada um dos valores variáveis \u200b\u200bconsiderados (após cada caso.); Se não para usá-lo, todos os operadores abaixo serão exibidos.

Comparar com o operador Se:

var a \u003d 2; Interruptor (A) (Caso 0: // se (a \u003d\u003d\u003d 0) caso 1: // if (a \u003d\u003d\u003d 0) alerta ("zero ou um"); // Então nós levamos ... quebra; Caso 2: // se (a \u003d\u003d\u003d 2) alerta ("dois"); // então nós levamos ... quebra; default: // else alerta ("muitos"); // caso contrário, vamos tomar ... )

Como agrupar várias opções?

Para cumprir os mesmos operadores, um agrupamento de vários caso.. Como no exemplo acima:

Caso 0: Caso 1: Alerta ("zero ou um"); Pausa; ...

A A \u003d 0 e A \u003d 1, o mesmo operador é realizado: alerta ("zero ou um");

Exemplo 4: Envie do usuário para inserir a cor. Tradução de tela para entrada em inglês. Para cor "azul" e "azul" Envie o mesmo valor.


✍ Solução:
  • Crie uma página da Web com um esqueleto HTML e tag roteiro..
  • Inicialize a variável cor
  • var color \u003d prompt ("que cor?");

    var color \u003d prompt ("que cor?");

  • Verifique o valor da variável usando o design switsh.Ao exibir cada valor - a tradução correspondente:
  • interruptor (cor) (caso "vermelho": alerta ("vermelho"); quebra; caso "verde": alerta ("verde"); quebrar; // ...

    Se a variável. cortem o significado de "vermelho", depois transferir a tradução para a janela modal - "Vermelho" e saia do design (quebra;). Se a variável. cor Tem o significado de "verde", para exibir na janela modal - "verde" e sair do design (quebra;).

  • Para flores "azul" e "azul" Realize um agrupamento:
  • // ... caso "azul": caso "azul": alerta ("azul"); Pausa; // ...

    Se a variável. cortem o significado de "azul" ou variável cortem o significado de "azul" e, em seguida, exibir a tradução para a janela modal - "azul" e saia do design (quebra;).

  • Organize a saída para essas cores que não são fornecidas pelo programa:
  • // ... padrão: alerta ( "Y Não temos informações sobre essa cor")) // fim do interruptor

    // ... padrão: alerta ("y não temos informações sobre esta cor")) // fim do switch

  • Script de teste no navegador.

Js 3_6 tarefa. Encontre e corrija os erros no fragmento de código a seguir:

14 15 16 17 Var número \u003d prompt ( "Digite o número 1 ou 2:"); Interruptor (caso "1" (document.write (um ");); quebra; caso" 2 "(document.write (" dois ");); quebra; padrão; default (document.write (document.write "Você entrou em um valor diferente de 1 e 2") ; } ; }

var número \u003d prompt ("Digite o número 1 ou 2:"); Interruptor (caso "1" (document.write (um ");); quebrar; caso" 2 "(document.write (" dois ");); quebra; padrão; padrão (documento.write (" você introduziu valor diferente de 1 e 2 "););)


Js 3_7 tarefa. O que será exibido na tela ao executar o próximo código?:

1 2 3 4 5 6 7 8 9 10 11 12 13 Value var \u003d "2"; Switch (Valor) (Caso "1": Caso "2": Caso "3": document.write ("olá"); quebra; caso "4": case "5": document.write ("World"); Padrão: document.write ("Erro");)

value var \u003d "2"; Switch (Valor) (Caso "1": Caso "2": Caso "3": document.write ("olá"); quebra; caso "4": case "5": document.write ("World"); Padrão: document.write ("Erro");)


Js 3_8 tarefa. O usuário solicita o número - o número de corvo no ramo. Dependendo do número inserido (não mais de 10), saia da mensagem: - Senta-se no ramo 1 corvo. - Senta-se no ramo 4 corvos - Senta-se no ramo 10 RORON.

  1. Dependendo do número introduzido, o final da palavra muda "Corvo".
  2. Para verificar o uso do operador JavaScript do Switch.
  3. Salve esta página na pasta Resultados (é útil para mais trabalho).


Perguntas para o autocontrole:

  1. Nesse caso, é aconselhável como um operador condicional para usar o design interruptor?
  2. Qual é o bloco padrão no operador interruptor?
  3. É necessário usar o operador de quebra no design interruptor?
  4. Como o agrupamento é realizado para várias opções para valores no operador interruptor?

Operadores cíclicos da linguagem javascript - para

Sintaxe:

para (o valor inicial do contador; condição; o incremento do contador) (//..block operadores ..)

Importante: O ciclo em JavaScript para é usado quando é conhecido antecipadamente quantas vezes as ações cíclicas devem ser repetidas (quantas iterações no ciclo)

  • Como valor inicial do medidor de iteração, uma expressão de atribuição é usada: por exemplo, i \u003d 0 - O contador de ciclo começa a partir do zero:
  • para (var i \u003d 0; condição; o incremento do contador) (//... operadoresblocos ..)

  • Como incremento do contador, o passo é indicado com o qual o medidor deve aumentar: por exemplo, indica que cada iteração de ciclo será acompanhada por um aumento 1 :
  • para (var i \u003d 0; condição; i ++) (//... Operadoresblock ..)

  • A condição do ciclo é o valor final do medidor: por exemplo, i10, pára o ciclo:
  • para (var eu \u003d 0; eu<10; i++) { //..блок операторов.. }

Considere um exemplo de uso do ciclo para o JavaScript:

Exemplo 5: Exibir a sequência de números 0 1 2 3 ... 9 , cada dígito - de uma nova linha. 0 1 2 ... 8 9


✍ Solução:
  • Para exibir a sequência de números, usaremos o contador de ciclos, que deve alterar seu valor de 0 antes 9 De acordo com a sequência.
  • Então, para o valor inicial do contador de ciclo Definir o valor igual a 0 ; como condições de ciclo Defina o valor final - II \u003d 9; Contador de passo deve ser igual 1 (I ++), já que a diferença entre os membros da sequência é uma:
  • para (var eu \u003d 0; eu<10; i++) { document.write(i+"
    "); }

    No exemplo, os valores do contador de ciclo são exibidos na tela, uma vez que o incremento do contador de i ++, respectivamente, aparecerá na tela 0 1 2 3 ... 9 e cada dígito - de uma nova linha (tag
    ).

  • Script de teste no navegador.

Js 3_9 tarefa. 1 antes 15 .

  1. Como uma sequência de números, use o ciclo para.
  2. Para uma variável-adder, use o identificador variável sOMA..

Fragmento de código:

Para (var i \u003d ...; ...) (suma \u003d soma + ...;) ...

Operadores de saída do ciclo pausa e prosseguir. em javascript. Operador SAÍDA.

O operador de interrupção interrompe todo o corpo do ciclo, ou seja. Saia do ciclo para JavaScript.

Enquanto o operador de continuação interrompe a execução da atual iteração do ciclo, mas, enquanto continua a execução do ciclo da seguinte iteração.

Considere o trabalho de quebrar e continuar os operadores no exemplo:

Exemplo: OBLECT O algoritmo de fragmento de código. O que será derivado?

Fragmento de código:

1 2 3 4 5 6 para (var eu \u003d 0; eu< 10 ; i++ ) { if (i== 4 ) continue ; document.write (i+ "
"); se (i \u003d\u003d 8) quebrar;)

para (var eu \u003d 0; eu<10;i++) { if (i==4) continue; document.write(i+"
"); se (i \u003d\u003d 8) quebrar;)


✍ Solução:
  • Na terceira linha do exemplo, há uma condição devido à qual a figura 4 Não será exibido: operador prosseguir.mude para a próxima iteração do ciclo sem completar o atual.
  • Na linha número 5 saia do ciclo, mas ao mesmo tempo a figura 8 Será exibido, uma vez que a declaração de saída é até a condição (na 4ª linha). Reunião pausaO intérprete completará a operação do ciclo.
  • Então Na tela será: 0 1 2 3 5 6 7 8 - Cada dígito de uma nova linha.

Js 3_10 tarefa. Retirar a soma de todos os inteiros de 1 antes 15 , eliminando o número total de números 5 e 7 .

Operador de saída

O Javasctipt Language fornece um operador de saída no código do programa - a declaração de saída.
Na maioria das vezes, o operador é usado para excluir erro de entrada do usuário.


Considere um exemplo:

Exemplo 6: Solicitar o usuário Digite um número. Se não o número for inserido, exiba uma mensagem. "O número é necessário!" e pare o trabalho do programa.


✍ Solução:
  • Inicialize a variável número O valor inserido pelo usuário na janela modal:
  • var número \u003d prompt ("Digite o número");

  • Usando a função Parseint da conversão de linha para um inteiro, verifique se o valor inserido é o número:
  • número \u003d Parseint (número); // retorna nan - não o número

    No caso de não ser inserido nenhum número, a função retornará o valor NAN (a partir do inglês. não é um número. - Não número).

  • Verifique o valor da variável número Usando a função ISNAN:
  • x \u003d isnan (número); // retorna true se o valor não for numérico

    Função Isnan retorna valor verdadeiro. Caso a variável não seja um número

  • De regras "mentir" Organize a verificação de valor variável X.. Se o valor não for numérico, o comentário correspondente e concluir o programa:
  • if (x) (alerta ("número!"); Sair; // Sair do programa)

  • Para continuar o programa (se o valor inserido for número), saia da seguinte janela com um fornecimento de entrada:
  • alerta ("Digite o segundo número"); // Quando você entra, o operador não é executado

  • Script de teste no navegador.

Perguntas para o autocontrole:

  1. Listar três parâmetros de ciclo para E explicar seu propósito.
  2. Quais operadores são projetados para sair do ciclo e por sua interrupção? Dar exemplos de seu uso.
  3. Para o qual o operador pretende sAÍDA?

Há alguns metros em um para?

Trabalho interessante com um ciclo é possível quando usado ao mesmo tempo, dois contadores no ciclo.
Considere um exemplo:

Exemplo 7: Usando o script, imprima os seguintes pares variáveis \u200b\u200bpara três linhas: i \u003d 0 j \u003d 2 i \u003d 1 j \u003d 3 i \u003d 2 j \u003d 4


✍ Solução:
  • No ciclo para o ciclo, organize dois metros: contador I para sequência 0 1 2 , medidor j para saída de seqüência 2 3 4 :
  • 1 2 3 para (i \u003d 0, j \u003d 2; eu< 10 , j< 5 ; i++, j++ ) { }

    para (i \u003d 0, j \u003d 2; eu<10, j<5; i++, j++) { }

    Cada um dos três parâmetros do ciclo para o ciclo tem agora dois valores listados. através de vírgulas (Por exemplo, o primeiro parâmetro com dois valores: i \u003d 0, j \u003d 2). Os parâmetros em si são listados através de uma vírgula(;).

  • Para sair de cada linha, use a tag
    :
  • 1 2 3 4 para (i \u003d 0, j \u003d 2; eu< 10 , j< 5 ; i++, j++ ) { document.write ("
    i \u003d ", eu" j \u003d ", j);)

    para (i \u003d 0, j \u003d 2; eu<10, j<5; i++, j++) { document.write("
    i \u003d ", eu" j \u003d ", j);)

Página de geração "na mosca": Como é?

Antes de executar a seguinte tarefa, considere um exemplo. página HTML da construção dinâmica Com javascript.

Exemplo 8:

  • Você deve gerar dinamicamente listas marcadas e numeradas na página da Web, dependendo dos dados inseridos pelo usuário: solicitação do usuário para entrar vista da lista (numerado (dígito 1) ou marcado (dígito 2)) e depois número de itens de lista.
  • Dependendo da resposta, exibir tags ou uma lista marcada ou numerada com o número necessário de itens.
  • Se um tipo de lista inexistente for inserido, emitir uma mensagem "Digite o tipo correto!" e sair de um programa ().

Recall Tags:
tags de lista numerizada:

<ol\u003e <li\u003e <li\u003e <li\u003e </ ol\u003e

tags de lista marcada:

var listtype \u003d prompt ("Digite" 1 "- se a lista marcada," 2 "- se a lista numerada");

  • Verifique o valor inserido: para uma lista numerada (dígito 1), exiba a tag
      , para etiquetado (dígito 2) - tag
        . Se outro valor for inserido, envie a observação e conclua o programa:

            ") Mais (alerta (" Digite o tipo correto "); sair;)

          • Inicialize a variável kolvo. O valor inserido pelo usuário na janela modal:
          • var kolvo \u003d prompt ("digite o número de itens");

          • Para converter o valor da seqüência de caracteres para uso numérico, a função Parseint:
          • para (var eu \u003d 1; eu<=kolvo; i++) document.write("");

          • Como as listas são fechadas com tags apropriadas, dependendo da lista da lista, saia das tags de fechamento:
          • If (listtype \u003d\u003d "1") document.write ("") Mais se (listtype \u003d\u003d" 2 ") document.write ("" ) ;

            if (listtype \u003d\u003d "1") document.write ("

        ") Mais se (listtype \u003d\u003d" 2 ") document.write ("
      ");

    1. Script de teste no navegador.
    2. JS 3_11 Tarefa.
      Escreva um script que exibe tags entrada(controles) de diferentes tipos, dependendo das figuras inscritas:

      1 - campo de texto,
      2 - botão,
      3 - rádio.(interruptor).

      O número de tags derivadas também deve ser solicitado.

      Recall Tags:

      Para 1 - campo de texto: Para 2 - botão: Para 3 - Rádio:

      Um exemplo de saída:

      Js 3_12 tarefa. Desenhe uma placa de xadrez 9x9 usando JavaScript para ciclos. "Draw" Board segue tags HTML para uma tabela:

      Recall Tags:

      <fronteira de mesa \u003d "1" largura \u003d "30%"\u003e <tr\u003e <tD\u003e-</ Td\u003e -</ Td\u003e </ tr\u003e </ Tabela\u003e

      --

      • Para desenhar 9 linhas, é necessário organizar um externo para ciclo com um metro i.
      • Para desenhar 9 células em cada linha, é necessário organizar um interno (incorporado) para ciclo com um j.
      • Para desenhar células e strings de tags, use o método document.write.

      Resultado:

      Além disso:

      1. Nas células da tabela, exiba a tabela de multiplicação usando os contadores de ciclo (I e J).
      2. A primeira linha e a primeira coluna a retirar com o fundo vermelho (atributo das células da tabela BGCOLOR):
        <td bgcolor \u003d "vermelho"\u003e-</ Td\u003e

        -

      Resultado:


      Perguntas para o autocontrole:

      1. Explique o que o conceito de "prédio da página dinâmica" significa?
      2. Qual projeto de linguagem é mais usada ao construir uma página?

      Javascript cíclico - enquanto operadores de linguagem

      Sintaxe do operador Whele:

      enquanto (condição) (//..block operadores ..);

      Exemplo: Eliminação para a caixa de diálogo 1000 (2, 4, 8 ... 512). Use o método alerta ()


      ✍ Solução:
      • Script de listagem:
      • 1 2 3 4 5 var A \u003d 1; Enquanto um.< 1000 ) { a*= 2 ; alert(a) ; }

        var A \u003d 1; Enquanto um.< 1000){ a*=2; alert(a); }

        a * \u003d 2 → uma operação de atribuição compósita é usada: um produto combinado com a atribuição, isto é, o mesmo que A \u003d A * 2

      • Teste o resultado no navegador.

      Como quebrar e continuar os operadores trabalham no momento do ciclo?

      Exemplo:

      var A \u003d 1; Enquanto um.< 1000 ) { a*= 2 ; if (a== 64 ) continue ; if (a== 256 ) break ; alert(a) ; }

      var A \u003d 1; Enquanto um.< 1000){ a*=2; if (a==64) continue; if (a==256) break; alert(a); }

      Decisa graus será emitido para 128 inclusive, e valor 64 vai fazer falta. Aqueles. Em caixas de diálogo, veremos: 2 4 8 16 32 128

      Js 3_13 tarefa. Quais valores serão o seguinte fragmento de código?

      varrinha \u003d 5; Enquanto (contador.< 10) { counter++; document.write("Counter " + counter); break; document.write("Эта строка не выполнится."); }


      Js 3_14 tarefa. Escreva o código de construção h. em grau y.Usando o ciclo enquanto. Solicite valores de variáveis \u200b\u200be saia do resultado usando alerta ().

      Código completo:

      1 2 3 4 5 6 7 8 9 var x \u003d ...; var y \u003d ...; Contador \u003d 1; chislo \u003d x; Enquanto (...) (Chislo \u003d x * ...; contador \u003d ...;) Alerta (Chislo);

      var x \u003d ...; var y \u003d ...; Contador \u003d 1; chislo \u003d x; Enquanto (...) (Chislo \u003d x * ...; contador \u003d ...;) Alerta (Chislo);

      Um correto o erro no programa projetado para encontrar o número do número:

      1 2 3 4 5 6 7 8 9 10 11 12 13 Var contade \u003d prompt ("digite o número"); var fatorial \u003d 1; Document.write ( "Números fatoriais:" + Contador + "! \u003d"); Fazer (se (contador \u003d\u003d 0) (fatorial \u003d 1; quebrar;) fatorial \u003d fatorial / contador; contador \u003d contador + 1;) enquanto (contra\u003e 0); Document.write (fatorial);

      var contade \u003d prompt ("digite o número"); var fatorial \u003d 1; Document.write ("Números fatoriais:" + contador + "! \u003d"); Fazer (se (contador \u003d\u003d 0) (fatorial \u003d 1; quebrar;) fatorial \u003d fatorial / contador; contador \u003d contador + 1;) enquanto (contra\u003e 0); Document.write (fatorial);


      Js 3_16 tarefa. Modifique o programa sobre a entrada no nome do usuário:

      Solicite o nome do usuário até que o usuário realmente digite o nome (i.e., o campo será realmente preenchido e a tecla Cancelar não poderá ser pressionada). Quando o nome é inserido, em seguida, saia "Olá, nome!". Documento.

      Como procurar erros no JavaScript?

      Em alguns casos, o código na página não funciona incompreensível por que razão. Onde procurar um erro? Em tais casos, você pode aplicar a instrução TRY..Catch.

      O operador TRY..Catch está tentando executar um fragmento de código e, se houver um erro no código, é possível fornecer um erro para a tela.
      O erro é armazenado no objeto E.Message.

      Considere o trabalho do operador usando o exemplo:

      Exemplo: Escreva um operador de erros no programa. Verifique a presença de um erro no código errôneo assumido: se o erro no código estiver presente - emitir uma mensagem "Processamento de erros: nome do erro". Depois de verificar o operador errôneo, independentemente de haver um erro no código, emitir uma mensagem "Ações de acabamento"


      ✍ Solução:
      • Como uma mensagem com um erro, usamos o método prompt (), escrito com um erro - promt (). Mensagem de erro incluir na unidade Experimente:
      • alerta ("para"); Tente (promt ("insira o número"); // operador com um erro)

        Tente com o inglês. - "Tentando", assim, colocamos o operador experimentado na frente do fragmento de código, que, talvez, contém um erro (no nosso caso, há realmente um erro).

      • Uma mensagem de notificação de erro deve ser colocada no bloco de captura:
      • 6 7 8 9 Pegar (e) (alerta (alerta ( "Processamento de erros:"+ E.Message); )

        pegar (e) (alerta ("processamento de erros:" + e.message);)

        Se o erro estiver realmente lá, a declaração de captura (do inglês. Catch ") salva esse erro no objeto E. No futuro, ele pode ser exibido na caixa de diálogo E.Message.

      • A mensagem final que deve ser emitida, independentemente de o erro estar no código, coloque-o no bloco finalmente:
      • finalmente (alerta ("ações finais");) alerta ("depois");

        Se ainda houver um erro, então o intérprete após sua saída em nosso exemplo irá para a execução do bloco de captura e, finalmente, (da última conclusão "," finalmente "), que sempre será concluída, independentemente de se o erro foi ou não. Mesmo se ocorrer um erro no bloco de captura.

      Importante: Finalmente o bloco no design é opcional.


      Tarefa JS 3_17. Realize um exemplo descrito acima com as seguintes modificações:

    3. Remova o bloco finalmente e siga a execução de código.
    4. Coloque em vez de um operador errôneo inconfundível e veja qual será o resultado.
    5. Resumo:

      A lição descreveu os seguintes operadores e desenhos de idiomas de JavaScript:

      Operadores condicionais JavaScript:

    6. Se o operador
    7. Atribuição condicional (operador ternário)
    8. Operador de comutador
    9. Operadores de ciclo:

    10. Ciclo para
    11. Enquanto o ciclo
    12. Ciclo do ... enquanto
    13. Ciclo para ... em
    14. Tarefa Final JS 3_18.
      Crie um jogo para dois:

      1. O programa pede o primeiro jogador para inserir um número de 1 antes 100 (O segundo jogador não vê o número inserido). O segundo jogador pede para adivinhar o número inserido. Uma mensagem é exibida em resposta. "alguns" ou "muitos" Dependendo da resposta inserida. Se um jogador estiver supondo, - um parabéns é exibido. Se não adivinhar - o jogo continua (até que o número seja advogado).
      2. Calcule o número de tentativas e dê o resultado quando o número é resolvido.


      Perguntas para o autocontrole:

      1. Em quais casos é aconselhável usar o para ciclo? Nomeie um exemplo de seu uso.
      2. Qual é o objetivo da tentativa..Catch Declaração?
      3. Explique a tarefa de cada bloco do operador Try.catch.
      Índice

      O JavaScript suporta um conjunto compacto de operadores que podem ser usados \u200b\u200bpara criar páginas da Web interativas. Este capítulo fornece uma visão geral desses operadores.

      Este capítulo tem as seguintes seções fornecendo uma breve visão geral de cada operador:

      • Bloco de operadores: { }
      • Operadores condicionais: se ... mais e interruptor
      • Operadores de ciclo: pois, enquanto, faça ... enquanto, rótulo, quebrar e continuar (rótulo Por si só não é um operador de ciclo, mas muitas vezes usado com os operadores especificados)
      • Operadores de manipulação com objetos: para ... em. e com.
      • Comentários
      • Operadores de manuseio de exceção: tente ... pegar e lançar
      Qualquer expressão também é um operador. Veja o Capítulo 3 na seção "Expressões e operações" informações completas sobre as operações.

      Use o símbolo do ponto de interruptor (;) para separar os operadores no código JavaScript.

      Veja o livro de núcleo JavaScript. Diretório. Detalhes sobre os operadores deste capítulo.

      1. Bloco de operadores

      A unidade do operador é usada para agrupar os operadores. O bloco é limitado a suportes figurados:

      (Declaração1 Declaração2 ... Statementn)

      2. Operadores condicionais

      O operador condicional é um conjunto de comandos que são executados se a condição especificada - verdadeiro.. JavaScript suporta dois operadores condicionais: se ... mais e interruptor.

      2.1. Se ... mais operador

      Este operador é usado para realizar certos operadores se uma condição lógica verdadeiro.; Use um bloco opcional sENÃO. para realizar outros operadores se a condição falso. O operador se parece com isso:

      if (condição) [mais (estadual2)]

      Condição pode ser qualquer expressão javascript calculada em verdadeiro. ou falso. Os operadores realizados podem ser quaisquer operadores JavaScript, incluindo operadores aninhados e se. Se você precisar executar mais de um operador após os operadores e se ou sENÃO.Você deve concluir esses operadores realizados em colchetes curly ().

      Você não precisa usar atribuições simples no operador condicional. Por exemplo, não use este código:

      Se você precisar usar a tarefa no operador condicional, insira suportes adicionais ao redor da operação de atribuição. Por exemplo, if ((x \u003d y)).

      Não confunda primitivo Boleano.-Noção verdadeiro. e falso Com valores verdadeiro. e falso Objeto Boleano.. Qualquer objeto cujo valor não seja indefinido., nULO, zero., ** nan ** ou string vazia, incluindo um objeto Boleano. com significado falsocalculado em. verdadeiro.Quando transmitido ao operador condicional. Por exemplo:

      var b \u003d novo booleano (falso); if (b) // Esta condição é calculada em verdade

      Exemplo.

      Neste exemplo, a função checkdata. Retorna. verdadeiro.Se o número de caracteres em TEXTO.- ACK igual a três; Caso contrário, exibe um aviso e retorna falso.

      função CheckData () (if (documento. Form1. Theegar. Valor. Comprimento \u003d\u003d 3) (retorno verdadeiro) mais (alerta (" Digite exatamente três caracteres."+ Documento. Form1. Theeardar. Valor +" não é válido. ") Retorna falso))

      2.2. Operador de mudança

      Operador interruptor Permite que o programa calcule a expressão e tenta comparar o valor do valor da expressão na marca. Se a coincidência for encontrada, o programa executa um operador associado. Operador interruptor Parece que:

      alternar (expressão) (rótulo de caso: declaração; quebra; rótulo de caso: declaração; quebrar; ... padrão: declaração:)

      O programa está procurando primeiro rótulocoincidente expressãoE, em seguida, executa uma instrução / operadora associada. Se a coincidência rótulo não encontrado, o programa está procurando opcional padrão. demonstração/ A instrução padrão e se for encontrada, execute um operador associado. Se um padrão. demonstração não encontrado, o programa continua a executar o operador após o final do operador interruptor.

      Operador opcional pausaencenar caso. rótulo, garante que o programa interrompa a execução do operador interruptorAssim que a coincidência encontrada for executada, e continuará a executar a partir do operador indo após o operador interruptor. Se um pausa Ausente, o programa continua a realizar o próximo operador dentro do operador interruptor.

      Exemplo.

      Aqui se. expr. É calculado em "Bananas", o programa encontra uma coincidência com o caso "bananas" e realiza um operador associado. Se a pausa for detectada, o programa interrompe interruptor e executa o operador após o bloco do operador interruptor. Se um pausa ausente, operador em caso. "Cerejas" também serão executadas.

      interruptor (expr) (caso "laranjas": documento. Escreva (" Laranjas são de US $ 0,59 a libra.
      "); Quebrar; caso" maçãs ": documento. Escrever (" maçãs são de US $ 0,32 a libra.
      "); Quebrar; caso" bananas ": documento. Escreva (" As bananas são de US $ 0,48 por libra.
      "); Quebra; caso" cerejas ": documento. Escreva (" Cerejas são de US $ 3,00 por libra.
      "); Quebra; padrão: documento. Escreva (" desculpe, estamos fora de "+ i +".
      ");) Documento. Escreva (" Há mais alguma coisa que você gostasse?
      " ) ;

      3. Operadores de ciclo

      Ciclo/ laço. Este é um conjunto de operadores, que é executado várias vezes enquanto a condição especificada. Javascript suporta operadores cíclicos para, fazer enquanto e enquanto, assim como rótulo (rótulo Por si só não é um operador de ciclo, mas muitas vezes usado com os operadores especificados). Além disso, você pode usar os operadores pausa e prosseguir. Dentro dos operadores dos ciclos.

      Outro operador de ciclo, para ... em.Executa também seus operadores ciclicamente, mas costumava trabalhar com objetos. Veja operadores de operadores de manipulação.

      3.1. Operador para

      Ciclo para repetido, desde que o valor especificado falso. Ciclo JavaScript para Parece ciclos para Java e C. Operador para Parece que:

      para (initialexpressão]; [Condição]; [incrementexpression]) (estados)

      Quando ciclo para Realizado, o seguinte acontece:

      1. Inicialização da expressão initialaxpression.Se disponível for executado. Essa expressão geralmente inicializa um ou mais contadores de ciclo, e a sintaxe permite as expressões de qualquer complexidade. Esta expressão também pode declarar variáveis.


      2. Condição / expressão condicional é calculada. Se valor condição - verdade., Os operadores de declarações / ciclo são executados. Se valor condição - Falso.ciclo para para o trabalho. Se expressão doença completamente ausente, presume-se que condição - verdade.


      3. Execute afirmações.


      4. Atualizando a expressão incremento.Se disponível, executado e controle retorna ao passo 2.


      Exemplo.

      Este recurso contém um operador paraque conta o número de opções selecionadas na lista rolável (objeto Selecione.permitindo que você escolha várias posições). Operador para Anuncia uma variável eU. E inicializa-o para zero. Ele verifica menos eU. Opções de objeto Selecione., Executa o operador e se E o incremento da variável eU. por unidade após cada passagem do ciclo.

      Escolha alguns tipos de música e clique no botão abaixo:

      "Alerta (" Número de opções selecionadas: "+ Howmany (document.selectform.musictypes)">

      3.2. Operador fazer ... enquanto

      Operador fazer enquanto repetido enquanto especificou a expressão - falso. Operador fazer enquanto Parece que:

      fazer (declaração) enquanto (condição)

      demonstração Realizada uma vez antes de verificar a condição / condição. Se um condição - verdade.O operador é executado novamente. No final de cada execução doença Verificado. Se um condição - Falso.A execução pára e o controle é transmitido ao operador após fazer enquanto.

      Exemplo.

      Neste exemplo ciclo faz. Item pelo menos uma vez e repete as iterações enquanto eU. menos 5 .

      (I + \u003d 1; documento. Escreva (i);) enquanto (eu< 5 ) ;

      3.3. Operador de roda

      Operador enquanto realiza seus operadores enquanto a condição / condição especificada - verdadeiro.. Operador enquanto Parece que:

      enquanto (condição)

      Se um doença torna-se falsoOs operadores dentro do ciclo parar de funcionar e o controle é transmitido para o operador em seguida após o ciclo.

      Condições: Condições / Condições ocorrem antes que os operadores sejam cumpridos dentro do ciclo. Se um doença Retorna. verdadeiro., os operadores são executados e doença Verificado novamente. Se a condição retornar falsoA execução das paradas do ciclo e o controle é transmitida ao operador para ir atrás do operador enquanto.

      Exemplo 1.

      Este ciclo enquanto Itens, até agora n. menos 3 :

      n \u003d 0; x \u003d 0; Enquanto (n.< 3 ) { n ++; x += n ; }

      Com cada iteração, o ciclo aumenta n. e adiciona esse valor à variável x.. Por isso, x. e n. Assuma os seguintes valores:

      • Após a primeira passagem: n \u003d 1 e x \u003d 1
      • Após a segunda passagem: n \u003d 2 e x \u003d 3
      • Após a terceira passagem: n \u003d 3 e x \u003d 6
      Depois de completar três passes do ciclo, doença n.< 3 Não é mais verdade, então a execução do ciclo é interrompida.

      Exemplo 2: ciclo infinito.

      Certifique-se de que a condição do ciclo é um dia falso; Caso contrário, o ciclo nunca irá interromper. Operadores do próximo ciclo enquanto são realizados infinitamente porque a condição nunca será falso:

      while (true) (alerta ("olá, mundo"))

      3.4. Operador de etiqueta

      Operador rótulo É um identificador para o qual você pode se referir a qualquer lugar do programa. Por exemplo, você pode usar rótulo Para identificar um ciclo e depois usar os operadores pausa ou prosseguir. Para interromper um ciclo ou continuar a execução.

      Operador de sintaxe. rótulo Parece que:

      etiqueta: declaração.

      Significado rótulo Pode haver qualquer identificador javascript fiel que não seja uma palavra reservada. Operador / declaração identificável com rótuloPode ser qualquer operador.

      Exemplo.

      Neste exemplo rótulo markloop. Identifica o ciclo enquanto.

      markloop: Enquanto (Themark \u003d\u003d True) Dosomething (); )

      3.5. Quebra do operador

      Use o operador pausa Para interromper ciclos interruptor ou operador marcado rótulo.
      • Se você estiver usando pausa sem rótulo, ele imediatamente interrompe o mais próximo enquanto, fazer enquanto, para ou interruptor e transfere o controle para o próximo operador.
      • Se você estiver usando pausa a partir de rótulo, Ele interrompe o operador marcado especificado.
      Operador de sintaxe. pausa Tal:

      1 . Quebrar 2. Rótulo de quebra

      A primeira opção interrompe o ciclo mais próximo contendo ou interruptor; A segunda opção interrompe o operador especificado com uma etiqueta.

      Exemplo.

      A itteração é realizada nos elementos da matriz até que o índice de elemento seja encontrado com o valor o valor que.:

      para (i \u003d 0; eu< a . length ; i ++ ) { if (a [ i ] = theValue ) break ; }

      3.6. Continue o operador

      Operador prosseguir. Usado para reiniciar os operadores enquanto, fazer enquanto, para e rótulo.
      • Se você estiver usando prosseguir. sem rótulo, ele interrompe a atual iteração do ciclo mais próximo enquanto, faça-enquanto ou para E continua a realizar este ciclo com a próxima iteração. Em contraste com o operador quebrar, continuar. Não interrompe a execução do ciclo completamente. No ciclo enquanto Ele continua doença. No ciclo para ciclo expressão de incremento..
      • Se você usar continuar com rótulo, aplica-se ao operador de ciclo identificado por este rótulo.
      Operador de sintaxe. prosseguir. Tal:

      1 . Continue 2. Continue o rótulo

      Exemplo 1.

      Este é um exemplo de ciclos enquanto com operador prosseguir.que é executado se o valor eU. igualmente 3 . Desta maneira, n. Obtém 1, 3, 7 e 12 valores.

      i \u003d 0; n \u003d 0; Enquanto eu.< 5 ) { i ++; if (i == 3 ) continue ; n += i ; }

      Exemplo 2.

      Operador marcado como checkiandj., contém um operador marcado como checkj.. Se detectado prosseguir., o programa interrompe a atual iteração checkj. E começa a próxima iteração. Cada vez que continua detectado, checkj. inicia a iteração novamente até que sua condição retorne falso. Se retornado falso, a parte restante do operador é realizada checkiandj. e checkiandj. Requer até que sua condição retorne false. Se voltar atrás falso, o programa continua a ser executado a partir do operador próximo após checkiandj..

      Se continuar a ter rótulo para checkiandj., o programa continuará a executar desde o início do operador checkiandj..

      checkiandj: Enquanto (eu< 4 ) { document . write (i + "
      "); i + \u003d 1; checkj: enquanto (j\u003e 4) (documento. Escreva (J +"
      "); J - \u003d 1; if ((j% 2) \u003d\u003d 0) Continue Checkj; Documento. Escrever (J +" é ímpar.
      ");) Documento. Escreva (" i \u003d "+ i +"
      "); Documento. Escreva (" j \u003d "+ j +"
      " ) ; }

      4. Objetos de manipulação dos operadores

      JavaScript usa operadores para ... em. e com. Para manipular objetos.

      4.1. Operador para ... em

      Operador para ... em. É izterando a variável especificada em todas as propriedades do objeto. Para cada propriedade JavaScript alcançado realiza operadores especificados. Operador para ... em. Parece que:

      Para (variável no objeto) (

      Exemplo.

      Esse recurso leva um objeto de objeto e objeto como argumento. Em seguida, é caracterizado por todas as propriedades desse objeto e retorna a string - a lista de propriedades e seus valores.

      função dump_props (obj, obj_name) (var result \u003d "; para (var i em obj) (resultado + \u003d obj_name +". "+ I +" \u003d "+ obj [i] +"
      ") Resultado + \u003d"


      "; Resultado de retorno;)

      Para objeto carro com propriedades faço e modelo O resultado será assim:

      cARRO. Fazer \u003d carro ford. Modelo \u003d mustang.

      4.2. Operador com

      Operador com. Define o objeto padrão para um conjunto do bloco do operador. JavaScript vê nomes não qualificados dentro do bloco do operador e determina se os nomes são as propriedades do objeto padrão. Se o nome não qualificado for uma propriedade, esta propriedade é usada no operador; Caso contrário, uma variável local ou global é usada.

      O com o operador parece com isso:

      com (objeto) (estados)

      Exemplo.

      Aqui está o operador com. Especifica que o objeto Matemática. É o objeto padrão. Operadores após o operador referem-se à propriedade PI. e para os métodos cos. e pecado. Sem especificar um objeto. JavaScript aceita objeto Matemática. como um objeto para esses recursos.

      var A, x, y ;; var r \u003d 10 com (matemática) (a \u003d pi * r * r; x \u003d r * cos (pi); y \u003d r * sin (pi / 2);)

      Observação:

      Usar o operador pode desacelerar significativamente a execução do programa.

      5. Comentários.

      Os comentários normalmente explicam as ações realizadas pelo código. Os comentários são ignorados pelo intérprete. JavaScript suporta Java e C ++ Comentários:
      • Comentário de linha única com uma barra dupla no início da linha (//).
      • Comentário multi-linha com símbolos / * No início e com símbolos * / no final.
      Exemplo.

      Aqui está um exemplo de dois comentários:

      // Este é um comentário de linha única. / * E esta é uma multi-line. Pode ser qualquer comprimento, e você pode colocar tudo aqui em qualquer lugar. * /

      6. Operadores de processamento de execução

      Você pode causar uma exceção ao operador lançar e lidar com os operadores tente ... pegar.

      Operador tente ... pegar Também é usado para lidar com as exceções de Java. Veja o "processo de exceção Java no Javascript" e "Javascript Exception Processing In Java".

      6.1. Operador de lance

      Operador lançar Usado para chamar uma exceção. Se você chamar uma exceção, especificará uma expressão contendo um valor de exceção:

      expressão de lance.

      O código a seguir provoca várias exceções.

      jogue "Error2"; // gera uma exceção com um valor de stringlançar 42; // gera uma exceção com um valor de 42lance verdadeiro; // gera uma exceção com verdadeira

      Quando você chama uma exceção, você pode especificar um objeto. Então você pode se referir às propriedades do objeto no bloco. pega. O exemplo a seguir cria um objeto myuserexception. Modelo UserException. e usa no operador lançar.

      // criar um tipo de objeto userExceptionfunção UserException (isto. Mensagem \u003d mensagem; isto. Nome \u003d "UserException";) // crie uma instância de objetomyuserException \u003d novo UserException ("valor muito alto"); Jogue myuserException;

      6.2. Tente ... Catch Operator

      Operador tente ... pegar Marca o bloco do operador, tentando executá-los e especifica uma ou mais opções de resposta quando ocorre uma exceção. Se a exceção ocorreu, o operador tente ... pegar te preocupa.

      Operador tente ... pegar Consiste em bloco tentar.que contém um ou mais operadores e zero ou mais blocos pegacontendo operadores que especificam ações ao chamar uma exceção no bloco tentar.. Isto é, se você quiser executar o bloco tentar. e não é executado, você passa o controle para o bloco pega. Se algum operador de bloco tentar. (ou função do operador causada a partir do bloco tentar.) Causa uma exceção, a gerência é imediatamente transmitida ao bloco. pega. Se a exceção não foi causada, o bloco pega ignorado. Quadra finalmente. Realizado após o bloqueio tentar. e pegaMas antes de executar um operador indo após o bloco do operador tente ... pegar.

      O exemplo a seguir usa o operador tente ... pegar. Uma função é chamada que solicita o nome do mês da matriz, com base no valor transmitido pela função. Se o valor não corresponder ao número do mês (1-12), uma exceção é causada pelo valor "InvalidMonthno" Operadores de bloco pega Definir a variável B. monhname. valor "Desconhecido".

      função getsmonthname (mo) (MO \u003d mo - 1; // Refine o número do mês no índice de matriz (1 \u003d jan, 12 \u003d DEC)var meses \u003d nova matriz ("jan", "fevereiro", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Out", "Nov", "Nov" "DEC"); Se (meses [mo]! \u003d Null) (meses de retorno [mo]) mais (lance "InvalidMonthno")) tente ( // Tentativa de executar esses operadores:monthName \u003d GetThName (mymonth) // função pode causar uma exceção) Catch (E) (MonthName \u003d "Desconhecido" LogMyErrors (E) // objeto que causou uma exceção é transmitido pelo manipulador de exceção}

      lançar; Você pode usar esse identificador para obter informações sobre o desordenado. JavaScript cria esse identificador ao entrar no bloco pega; Identificador existe apenas durante o período de execução pega; Depois de completar a execução do bloco pega O identificador não está mais disponível.

      Por exemplo, o código a seguir provoca uma exceção. Se ocorrer uma exceção, o controle é transmitido para o bloco pega.

      tente (lance "MeuException" // Uma exceção é gerada) Catch (E) ( // operadores para processamento de qualquer exceçãologMyErrors (E) // Exceção é transmitida ao manipulador de erros}

      Múltiplos blocos de captura

      Operador único tentar. Pode conter vários blocos condicionais pegaCada um dos quais processa um tipo específico de exceção. Neste caso, a entrada para o bloco condicional apropriado pega É executado somente ao chamar uma exceção especificada para este bloco. Você também pode optar por habilitar uma unidade separada. pega Para todas as exceções não reconhecidas como o bloco final pega no operador.

      Por exemplo, a seguinte função causa três outras funções (declaradas em outro lugar) que verificam seus argumentos. Se a função de teste determinar que o componente está sendo marcado está incorreto, ele retornará 0, forçando a função de chamada para chamar uma determinada exceção.

      função GetCustInfo (nome, identificação, e-mail) (var n, i, e; se (! Validate_name (nome)) lance "InvalidNameException" mais n \u003d nome; se (! Validate_id (id)) jogar "InvalididaException" Else I \u003d ID ; se (! validate_email (e-mail)) jogar "InvalidEmailException" mais E \u003d E-mail; Cust \u003d (N + "" + i + "" + e); retorno (Cust);)

      Blocos condicionais pega Gerencie a chamada para o manipulador de exceção correspondente.
      " ) { // chama o manipulador de IDs / identificadores incorretosbad_id_handler (e)) catch (e se e \u003d\u003d "InvalidEmailException") ( // faz com que o manipulador de endereços de e-mail incorretosbad_email_handler (E)) Catch (E) ( // Exceção não declarada é registrada no arquivo de loglogerror (E))

      Finalmente unidade

      Finalmente o bloco contém operadores realizados após o bloqueio tentar. e pega, mas antes de executar operadores indo após o operador tente ... pegar. Quadra finalmente. É realizado independentemente de serem uma exceção. Se a exceção é chamada, os operadores de bloco finalmente. são realizados mesmo se não há bloco pega não prosseguiu uma exceção.

      Você pode usar o bloco finalmente. Para a conclusão correta do script quando ocorre uma exceção; Por exemplo, você pode precisar libertar o recurso associado a um script. No exemplo a seguir, o arquivo abre e os operadores funcionam com ele (o servidor JavaScript permite acessar arquivos). Se uma exceção é chamada com o arquivo aberto, o bloco finalmente. Fecha o arquivo antes que o script falhe.

      openmyfile (); Tente (WriteMyFile (temedas)) finalmente (closemyfile () // recurso sempre fecha}

      Inserindo os operadores tentam ... pegar

      Você pode investir um ou mais operadores. tente ... pegar uns aos outros. Se o operador interno tente ... pegar Não tem bloco pegaA coincidência é bloqueada pega contendo operador de TI tente ... pegar.