Introdução

JavaScript é uma linguagem de script multiplataforma orientada a objetos. É uma linguagem pequena e leve. Dentro de um ambiente de host (por exemplo, um navegador da web), o JavaScript pode ser conectado ao objetos de seu ambiente para fornecer controle programático sobre eles.


JavaScript contém uma biblioteca padrão de objetos, como Array, Data e Matemática, e um conjunto básico de elementos de linguagem, como operadores, estruturas de controle e instruções. O JavaScript principal pode ser alargado para uma variedade de fins, completando-o com objetos adicionais; por exemplo:


  • O JavaScript do lado do cliente estende a linguagem principal fornecendo objetos para controlar um navegador e seu DOM (Document Object Model). Por exemplo, as extensões do lado do cliente permitem que um aplicativo coloque em um formulário HTML e respondem a eventos do usuário, como mouse cliques, entrada de formulário e navegação de página.
  • O JavaScript do lado do servidor estende a linguagem principal fornecendo relevantes para a execução de JavaScript em um servidor. Por exemplo As extensões do lado do servidor permitem que um aplicativo se comunique com um banco de dados, fornecer continuidade de informações de uma invocação para outro do aplicativo, ou executar manipulações de arquivos em um servidor.

O que você já deve saber

Este guia pressupõe que você tenha o seguinte histórico básico:

  • Uma compreensão geral da Internet e da World Wide Web (WWW).
  • Bom conhecimento prático de HyperText Markup Language(HTML).
  • Alguma experiência em programação. Se você é novo em programação, tente um dos tutoriais vinculados na página principal sobre JavaScript.

JavaScript e Java

JavaScript e Java são semelhantes em alguns aspectos, mas fundamentalmente diferente em alguns outros. A linguagem JavaScript se assemelha a Java, mas não tem a tipagem estática do Java e a verificação de tipo forte. JavaScript segue a maioria das sintaxe de expresão Java, convenções de nomenclatura e construções básicas de fluxo de controle, que foi a razão pela qual foi o renomeado de LiveScript para JavaScript.


Em contraste com o sistema de classes em tempo de compilação do Java construído por declarações, o JavaScript suporta um sistema de tempo de execução baseado em um pequeno número de tipos de dados que representam numérico, booleano e cadeia de caracteres Valores. O JavaScript tem um modelo de objeto baseado em protótipo em vez do modelo de objeto baseado em classe mais comum. O modelo baseado em pretótipo fornece herança dinâmica; ou seja, o que é herdado pode variar para objetos individuais: O JavaScript também suporta funções sem Quaisquer requisitos declarativos especiais. As funções podem ser prorpiedades de objetos, sendo executados como métodos de tipo livre.


JavaScript é uma linguagem de forma muito livre em comparação comJAva. Você não tem que declarar todas as variáveis, classes e métodos. Você não tem preocupar-se se os métodos são públicos, privados ou protegidos e você não precisa implementar interfaces. Variáveis parâmetros e tipos de retorno de função não são explicitamente tipados.


Olá, mundo

Para começar a escrever JavaScript, abra o bloco de rascunhos e escreva seu primeiro código JavaScript "Hello world": Selecione o código no teclado e pressione Ctrl+R para vê-lo se desdobrar em seu Navegador!


function greetMe(yourName) { alert("Hello " + yourName); } greetMe("World");


Variáveis

Você usa variáveis como nomes simbólicos para valores em seu aplicativo. Os nomes das variáveis, chamados de identificadores, estão em conformidade com certas regras. Um identificador JavaScript deve começar com uma letra, sublunhado (_) ou cifrão ($); Os caracteres subsequentes também podem ser dígitos (0-9). Como o JavaScript diferencia maiúsculas de minúsculas, as letras incluem os caracteres "A" a "Z" (maiúsculas) e os caracteres "a" a "z" (minúsculas)


Você pode usar letras ISO 8859-1 ou Unicode, como å e ü em Identificadores. Você também pode usar as sequências de escape Unicode como caracteres em identificadores. Alguns exemplos de nomes legais são Number_hits, temp99 e _name.


Declarando variáveis

Você pode declarar uma variável de três maneiras:


Com a palavra-chave var. Por exemplo, este A sintaxe pode ser usada para declarar variáveis locais e globais.


var x = 42.

Simplesmente atribuindo-lhe um valor. Por exemplo, Isso sempre declara uma variável global. Ela gera um aviso JavaScript estrito. Você não deve usar isso variante.


x = 42.

Com a palavra-chave let. Por exemplo, este pode ser usada para declarar uma variável local de escopo de bloco. Ver Escopo variável abaixo.


let y = 13.


Escopo variável

Quando você declara uma variável fora de qualquer função, ela é chamada de global, porque está disponível para qualquer outro código no documento atual. Quando você declara uma variável dentro de uma função, ela é chamada de variável local, porque está disponível apenas dentro dessa variável função.


JavaScript antes do ECMAScript 2015 não tem instrução de bloco âmbito; em vez disso, uma variável declarada dentro de um bloco é local para o (ou escopo global) em que o bloco reside. Durante Exemplo O código a seguir registrará 5, porque o escopo de x é o (ou contexto global) dentro do qual x é declarado, não o , que neste caso é uma instrução if.


if (true) { var x = 5; } console.log(x); // 5

Esse comportamento é alterado ao usar a declaração let introduzida em ECMAScript 2015.


if (true) { let y = 5; } console.log(y); // ReferenceError: y is not defined


Variáveis globais

As variáveis globais são, na verdade, propriedades do objeto global. Na web páginas o objeto global é janela, para que você possa definir e acessar global usando a sintaxe window.variable.


Consequentemente, você pode acessar variáveis globais declaradas em uma janela ou quadro de outra janela ou quadro, especificando a janela ou nome do quadro. Por exemplo, se uma variável chamada phoneNumber for declarado em um documento, você pode se referir a essa variável a partir de um iframe como parent.phoneNumber.


Constantes

Você pode criar uma constante nomeada somente leitura com a palavra-chave const. A sintaxe de um identificador constante é a mesma de uma variável identificador: deve começar com uma letra, sublinhado ou cifrão e pode conter caracteres alfabéticos, numéricos ou sublinhados.


const PI = 3.14

Uma constante não pode alterar o valor por meio de atribuição ou ser declarada novamente enquanto o script está em execução. Ele deve ser inicializado com um valor.


As regras de escopo para constantes são as mesmas que as do bloco let variáveis de escopo. Se a palavra-chave const for omitida, o identificador será assumido para representar uma variável.


Você não pode declarar uma constante com o mesmo nome de uma função ou variável no mesmo escopo. Por exemplo:


// THIS WILL CAUSE AN ERROR function f() {}; const f = 5; // THIS WILL CAUSE AN ERROR ALSO function f() { const g = 5; var g; //statements }

No entanto, os atributos de objeto não são protegidos, portanto, o seguinte é executada sem problemas.

const MY_OBJECT = {"key": "value"}; MY_OBJECT.key = "otherValue";


Tipos de Dados

O padrão ECMAScript mais recente define sete tipos de dados:

  • Seis tipos de dados que são primitivos:
    • Booleano. verdadeiro e falso
    • null. Uma palavra-chave especial que denota um valor nulo. Porque JavaScript diferencia maiúsculas de minúsculas, null não é o mesmo que Null, NULL ou qualquer outra variante.
    • undefined. Uma propriedade de nível superior cujo valor é indefinido.
    • Número. 42 ou 3,14159.
    • String. "Howdy"
    • símbolo (novo no ECMAScript 2015). Um tipo de dados cujas instâncias são únicos e imutáveis.
  • e Objeto

Embora esses tipos de dados sejam uma quantidade relativamente pequena, eles permitem você para executar funções úteis com seus aplicativos. Objetos e As funções são os outros elementos fundamentais da linguagem. É possível Pense em objetos como contêineres nomeados para valores e funções como procedimentos que seu aplicativo pode executar.


if... instrução else

Use a instrução if para executar uma instrução se uma condição lógica for verdadeiro. Use a cláusula else opcional para executar uma instrução se o condição é false. Uma instrução if tem a seguinte aparência: condition pode ser qualquer expressão avaliada como true ou false. Ver Booleano para uma explicação do que é avaliado como verdadeiro e falso. Se condition é avaliada como true statement_1 é executada; caso contrário statement_2 é executado. statement_1 e statement_2 podem ser qualquer declaração, incluindo outras instruções if aninhadas.


if (condition) { statement_1; } else { statement_2; }

Você também pode compor as instruções usando else if para ter vários Condições ensaiadas em sequência, como se segue:

if (condition_1) { statement_1; } else if (condition_2) { statement_2; } else if (condition_n) { statement_n; } else { statement_last; }

No caso de condições múltiplas, apenas a primeira condição lógica que é avaliado como verdadeiro será executado. Para executar vários instruções, agrupe-as dentro de uma instrução de bloco ({ ... }) . Em Em geral, é uma boa prática sempre usar instruções de bloco, especialmente ao aninhar instruções if: É aconselhável não usar atribuições simples em uma condicional expressão, porque a atribuição pode ser confundida com igualdade quando olhando para o código. Por exemplo, não use o seguinte código: Se você precisar usar uma atribuição em uma expressão condicional, uma prática comum é colocar parênteses adicionais ao redor da tarefa. Por exemplo:

if (condition) { statement_1_runs_if_condition_is_true; statement_2_runs_if_condition_is_true; } else { statement_3_runs_if_condition_is_false; statement_4_runs_if_condition_is_false; }

if (x = y) { /* statements here */ }

if ((x = y)) { /* statements here */ }


Instrução while

Uma instrução while executa suas instruções desde que uma instrução especificada condition é avaliada como true. Uma instrução while tem a seguinte aparência: Se a condição se tornar false, a instrução dentro do loop para de ser executada e o controle passa para a instrução após o loop.

while (condition) statement

O teste de condição ocorre antes que a instrução no loop seja executada. Se a condição retornar true, a instrução será executada e a instrução condição é testada novamente. Se a condição retornar false, a execução stops e o controle é passado para a instrução seguinte while.


Para executar várias instruções, use uma instrução de bloco ({ ... }) para agrupe essas declarações.


Exemplo:


O seguinte loop while itera desde que n seja menor que três:

var n = 0; var x = 0; while (n < 3) { n++; x += n; }

A cada iteração, o loop incrementa n e adiciona esse valor a x. Portanto, x e n assumem os seguintes valores:

  • Após a primeira passagem n = 1 e x = 1
  • Após a segunda passagem n = 2 2 x = 3
  • Após a terceira passagem n = 3 e x = 6

Depois de concluir a terceira passagem, a condição n < 3 não é mais true, entã o loop termina.


Declarações de funções

Uma definição de função (também chamada de declaração de função ou função) consiste na palavra-chave fuction, seguida por:

  • O nome da função.
  • Uma lista de argumentos para a função, entre parênteses e separados por vírgulas.
  • As intruções JavaScript que definem uma função, entre chaves {}.

Por exemplo, o código a seguir define uma função simples chamada quadrado:

function square(number) { return number * number; }

A função quadrada recebe um argumento, chamado número. A função consiste em uma instrução que diz para retornar o argumento do função (isto é, número) multiplicado por si mesmo. O retorno especifica o valor retornado pela função.

return number * number;

Parâmetros primitivos (como um número) são passados para funções por valor; o valor é passado para a função, mas se a função altera o valor do parâmtro, essa alteração não é refletida globalmente ou na função de chamada.


Referência

  • Toda a documentação nesta página foi retirada do MDN