
Criando a primeira estrutura Javascript com a tag <script> e o comando alert().
Aula 5 - Introdução a variáveis
Declarando variáveis com o operador var, alterando o valor
da variável.
Tipos de dados de variáveis (tipagem dinâmica em Javascript). Os
principais tipos de variável em Javascript são: string, número
(inteiro 'int' e flutuante 'float' ou 'double') e boolean.
Regras de sintaxe para variáveis. Utilização do Camel Case.

Utilizando variáveis do tipo String.
Funções de string:
Converter para minuscula: nome_da_variável.toLowerCase()
Converter para maiuscula: nome_da_variável.toUpperCase()
Concatenar variáveis: nome_da_variável.concat(nome_da_variável ou 'string' ). Outra forma de
concatenação com o operador '+'.
Substituir caracteres: nome_da_variável.replace('caractere_a_substituir, 'caractere_substituto'). Obs: substitui apenas o primeiro caractere
Converter número para string: nome_da_variável.toString().

Utilizando variáveis do tipo numérico.
No Javascript as variáveis numpericas se alternam automaticamente de
acordo com a forma que atribuimos o valor (tipagem dinâmica).
Assim quando aplicamos um ponto decimal em uma variável numérica ela
automaticamente é considerada um double ou float.
Funções de numero:
Converter para inteiro: parseInt(nome_da_variavel).
Converter para float: parseFloat(nome_da_variavel).
Converter para float com casas decimais fixas: parseFloat(nome_da_variavel).toFixed(numero_de_casas_decimais).
Converter para float com casas decimais fixas: parseFloat(nome_da_variavel).toPrecision(numero_de_casas_decimais(contando com o caractere ponto)).
Funções math:
Numero randomico (entre 0 e 1): Math.random()
Arredondamento: Math.round() também pode utilizar a função
Math.trunc().
Outras funções: Math.sin(valor),
Math.cos(valor), Math.PI, etc.

Entendendo variáveis 'null' e 'undefined'.
A variável 'null' ocorre quando não atribuimos nenhum valor para ela
ou quando atribuimos o valor 'null'.
Já a 'undefined' deve ter esse valor atribuido epecificamente.
O problema de utilizar 'undefined' é que diferentemente de 'null'
ele cria a variável mas por ser indefinido não atribui nenhum tipo
para a variável o que pode causar erros. A variável 'null' atua como
uma valor vazio. Quando utilizamos o typeof nas duas
variáveis a variável com valor 'null' retorna 'string', já a
'undefined' retorna o tipo 'undefined'.

O Javascript não tem por padrão funções de input. Para isso
utilizamos algumas funções que exixtem no browser.
A função do browser responsável pelo output é a alert(). A
função responsável pelo input é a prompt(). Para
utilizarmos o valor digitado no prompt devemos atribuir seu valor em
uma variável.
O método de output do Javascript é o console sendo a função
mais comum a console.log().
Outrs funções do console são console.error (envia a
mensagem como erro), console.info,
console.warn (envia a mensagem como uma advertencia),
console.clear, console.time e
console.timeEnd (as funções time e timeEnd fazem uma
contagem do tempo entre suas execuções).
Temos ainda o método confirm() que é semelhante ao
alert() porém tem as opções de retorno OK e
Cancelar

Operadores são os sinais de operações matemáticas e lógicas.
= atribuição
Operadores aritméticos:
+ soma (quando trabalhando com números. Quando forem
strings o operador faz a concatenação).
- subtração.
* multiplicação.
/ divisão.
% módulo (resto da divisão).
++ incremento;
-- decremento;
Operadores de atribuição:
+=, -=, *=, /= realiza a operação e redefine o valor.
Operadores de comparação:
== igualdade.
=== igualdade de valor e tipo.
!= diferença.
!== diferença de valor e tipo.
<, >, <=, >= menor,
maior, menor ou igual e menor ou igual.
Operadores lógicos:
&& and.
|| or.
! not.
Nos operadores de comparação e nos operadores lógicos os retornos
são sempre em booleanos.

Estrutura condicional if()
Estrutura aninhada else if()
Estrutura else

Estrutura condicional switch()
switch (verificador {
case condição:
operação;
break;
...
default:
operação;
}

Estruturas de loop:
while(condição) {operação; incremento }
do{operação; incremento} while(condição)

Laço for().
Aula 15 - Introdução a funções
Uma função é um bloco exclusivo de código onde conseguimos executar
um conjunto de instruções para resolver determinada tarefa.
A estrutura básica de uma função é:
function nomeDaFuncao(parametro){
corpo_da_função
}
Uma função deve retornar algum resultado. Quando ela não retorna
nada é chamada de procedimento.

As funções podem ser normais/padrão ou parametrizadas.
O valor do parametro sempre vai obedecer o tipo definido na função.
Quando utilizamos o parseInt() estamos utilizando uma
função parametrizada sendo o valor que convertemos para inteiro o
parametro da função.
O escopo pode ser global ou individual para a função. Mesmo quando
temos uma variável global com o mesmo nome de um parametro o valor
dessa variável só será chamado na função caso ele seja utilizado
como parametro na execução da função. Já quando atribuimos uma valor
de variável para o parametro dentro da função, o escopo local dessa
variável vai sobreescrever qualquer parametro mesmo que ele seja
chamado na execução da função.
Conclusão: as variáveis de escopo global(atribuidas fora da função)
mesmo que tenham o mesmo nome do parametro só serão consideradas
pela função se forem invocadas como parametro na execução da função.
Já uma variável criada dentro da função sempre será definida como o
valor principal na função sobreescrevendo qualquer parametro passado
fora da função. Vejamos o exemplo abaixo:
var n1 = 10;
function testeDeEscopo(n1, n2) {
var n2 = 5;
return n1 * n2;
}
var g = testeDeEscopo(n1, 3);
var h = testeDeEscopo(3);
var i = testeDeEscopo(6, 3);
console.log(g, h, i);
g = 50 , h = 15, i = 30
Neste exemplo a variável g recebe por parametro o valor
atribuido na variável global n1 mas ignora o valor passado
para n2 utilizando o valor definido localmente na função. A
variável h recebe apenas o primeiro parametro da função que
equivale ao parametro de n1 aproveitando o valor de
n2 definido localmente. Por fim a variável i recebe
dois valores por parametro, mas utiliza apenas o valor passado para
o parametro n1 também ignorando o segundo valor.