Académique Documents
Professionnel Documents
Culture Documents
Introduo
Javascript uma das linguagens mais importantes de nosso tempo,
justamente por ser entendida pelos mais diversos navegadores
(desktop/mobile) sem a necessidade de instalao de plugins ou qualquer
outro artifcio.
Alm de ser a lingua franca da web, ela cada vez mais usada em
servidores web devido ao sucesso do Node.js que revigorou a ideia de se
trabalhar com esta linguagem no lado do servidor, algo que a Netscape
havia tentado no passado, mas que no emplacou.
Escolhemos o Chrome, mas nada impede que voc escolha outro navegador
como Firefox, Safari, entre outros. O importante que o navegador
escolhido suporte o ECMASCRIPT 5, padro suportado por navegadores
modernos.
Qual editor de texto usar? Aquele que voc j domina, claro! At mesmo o
mais simples dos editores suficiente para o seu treinamento. Nos vdeos o
instrutor estar utilizando o Sublime Text 2 para Ubuntu.
exibir na tela uma alert com o texto "bem-vindo" podemos usar o seguinte
script:
alert("bem-vindo");
Faz todo sentido, j que criamos uma pgina HTML que est preparada para
exibir contedo em forma de texto.
A tag SCRIPT
Precisamos dar uma pista para que o navegador deixe de olhar aquele
trecho de cdigo como HTML e comece a v-lo como um script que deve ser
interpretado. Para isso, usamos a tag <script>:
A tag <script> pode ser tanto adicionada dentro da tag <head> ou logo
antes do fechamento da tag <body>. Neste treinamento trabalharemos
sempre com a tag <script> como ultimo elemento da tag <body>.
Para testar a tag <script>, voc tambm pode usar o comando prompt, que
ir exibir uma janela pedindo que voc digite um texto qualquer:
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Javascript, a linguagem</title>
</head>
<body>
<h1>Introduo</h1>
<script>
prompt();
</script>
</body>
</html>
Note que nessa janela est escrito undefined em cima do campo, isso
acontece pois voc no informou qual texto deve aparecer. Para inform-lo,
basta pass-lo dentro do parenteses. No exemplo abaixo, o texto que
aparecer ser "Digite seu nome":
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Javascript, a linguagem</title>
</head>
<body>
<h1>Introduo</h1>
<script>
prompt("Digite seu nome");
</script>
</body>
</html>
Legal! Mas de que adianta voc digitar seu nome se essa informao
perdida logo em seguida, certo? Ns podemos, a fim de evitar esta perda,
armazenar o que o usurio digitar em uma varivel(no se preocupe com a
sintaxe por enquanto, no proximo captulo iremos entender variveis bem
mais profundamente):
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Javascript, a linguagem</title>
</head>
<body>
<h1>Introduo</h1>
<script>
var nome = prompt("Digite seu nome");
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Javascript, a linguagem</title>
</head>
<body>
<h1>Introduo</h1>
<script>
var nome = prompt("Digite seu nome");
alert(nome);
</script>
</body>
</html>
Um ponto importante aqui que voc pode j ter visto a declarao da tag
<script> utilizando o atributo type:
<script type="text/Javascript">
</script>
<DOCYTYPE html>
<script>
alert("primeiro");
alert("segundo");
</script>
Porm, ao rodar esse cdigo voc perceber que o segundo alert s aparece
aps termos fechado o primeiro, o que o torna pouco prtico. Alm disso, o
alert um comando que existe apenas no navegador, ou seja, no
funcionar caso usado em outras plataformas como o Node.js, por exemplo.
<script>
console.log("bem-vindo");
</script>
No se preocupe, o texto foi mostrado no console, ns s precisamos abrlo! Para isso o atalho no Windows e Linux: CONTROL + SHIFT + J ou no MAC
OS CMD + OPT + J). Para escond-lo, basta executar a mesma tecla de
atalho novamente:
Exibindo console
Script como arquivo externo
Agora que voc j entendeu que para o navegador interpretar seu script ele
precisa estar envolvido pela tag <script> e que para visualizar a sada no
console precisa abr-lo est na hora de organizarmos melhor o nosso cdigo.
// intro.js
console.log("bem-vindo");
<script src="intro.js"></script>
por isso que uma boa prtica verificar se o arquivo importado atravs da
tag script foi carregado! Fazemos isso tambm com o console aberto, mas
no lugar de selecionarmos a aba "console", selecionamos a aba "rede" (ou
"network", caso seu navegador esteja em ingls). No esquea de
recarregar sua pgina toda vez que mudar para esta aba.
A aba "rede" exibe uma lista de todos os arquivos externos carregado, logo,
se tudo correu bem com nosso arquivo intro.js ele deve aparecer na lista. Se
estiver vermelho, significa que o arquivo no existe ou est em outro
diretrio:
// intro.js
console.log("bem-vindo");
console.log("bem-vindo);
No cdigo anterior, adicionamos mais uma sada para o console, mas com
problema. Conseguiu descobrir onde? O texto no termina com aspas
simples, algo considerado um erro pelo Javascript.
Ao abrir sua pgina mais uma vez uma mensagem de erro ser exibida no
console e no canto direito aparece um link para o arquivo intro.js que indica
a linha do erro, inclusive voc pode clicar no link que ele exibir o cdigo
para voc:
O projeto do curso
Assim que o interpretador de Javascript passar por essa linha, ele criar
uma varivel com o nome "idade" e atribuir a ela o valor 19. Do mesmo
jeito que voc consegue declarar uma varivel e atribuir a ela um nmero
inteiro, voc consegue atribuir um nmero decimal:
O mesmo voc consegue fazer com textos(ou strings), basta atribuir algo
que esteja entre aspas duplas:
Voc pode verificar o tipo de uma varivel utilizando o comando typeof, veja
o exemplo abaixo:
nome = 10;
console.log(typeof nome); // imprime number
Caso voc crie uma varivel com o valor true ou false, o tipo dela ser
boolean;
Por exemplo, podemos criar uma varivel chamada ehIgual que ser
verdadeira ou falsa de acordo com uma comparao de igualdade, que
feita utilizando o operador ==
//-----------
//-----------
5 > 4 // true
5 > 10 // false
Se menor
4 < 5 // true
4 < 0 // false
Se maior ou igual
5 >= 5 //true
5 >= 0 //true
5 >= 6 //false
E se menor ou igual
4 <= 4 // true
4 <= 5 // true
4 <= 3 // false
Para dividir um nmero por outro, por exemplo, basta utilizar operador de
diviso, que representado pelo caractere barra("/"), sendo assim, ao
digitarmos 12/2 no console, temos o resultado 6. O mesmo funciona com
outras operaes bsicas, como multiplicao(utiliza-se o operador *),
soma(+) e subtrao(-).
Vamos ento calcular o IMC de um paciente que pesa 100 quilos e tem 2
metros de altura. Para isso, vamos declarar a varivel peso e a varivel
altura:
Mas espere, o resultado da conta deveria ser 25, mas foi 100!
peso / altura = 50
50 * altura = 100
console.log(imc) // 25
A conta seria:
if(altura != 0){
var imc = peso / (altura * altura);
console.log(imc) // 25
}
if(altura != 0){
var imc = peso / (altura * altura);
console.log(imc) // 25
}else{
console("No posso executar uma diviso por 0!");
}
}
}
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="utf-8">
<title>Javascript, a linguagem</title>
</head>
<body>
<h1 id="titulo">Ol, mundo!</h1>
</body>
</html>
<table>
<tr>
<th>Nome</th>
<th>Peso</th>
<th>Altura</th>
<th>IMC</th>
</tr>
<tr>
<td id="nome-1">Leonardo</td>
<td id="peso-1">50.0</td>
<td id="altura-1">1.60</td>
<td id="imc-1"></td>
</tr>
<tr>
<td id="nome-2">Paulo</td>
<td id="peso-2">100</td>
<td id="altura-2">2.00</td>
<td id="imc-2"></td>
</tr>
</table>
if(altura != 0){
var imc = peso / (altura * altura);
console.log(imc) // 25
}else{
console("No posso executar uma diviso por 0!");
Bacana! J calculamos o IMC, mas ainda temos uma coluna vazia na nossa
tabela, precisamos preench-la com o valor calculado!
if(altura != 0){
var imc = peso / (altura * altura);
console.log(imc) // 25
}else{
Seria legal se tivssemos um modo de juntar essas duas variveis para que
ficasse claro que elas pertencem a um paciente. Para isso, vamos aprender
como declaramos objetos em Javascript!
A notao de objetos do Javascript
Um objeto em Javascript, nada mais que uma varivel que possui, dentro
dela, chaves e valores. O que queremos fazer um objeto chamado
paciente que ter as chaves (ou atributos) altura e peso.
paciente.peso
paciente["peso"];
Pronto! Temos um paciente completo, com peso e altura! Mas ele ter
sempre o mesmo valor de peso e de altura, seria legal se ns pegssemos
essa informao da pgina, como fazamos antes:
var paciente = {
peso : peso,
altura : altura,
}
Note que quebramos a linha para cada atributo por questes de legbilidade,
essa uma notao bem usada quando o objeto tem muitos atributos.
var paciente = {
peso : peso,
altura : altura,
}
var paciente = {
peso : peso,
altura : altura,
nome : nome
}
if(paciente.altura != 0){
var imc = paciente.peso / (paciente.altura * paciente.altura);
console.log(imc);
}else{
console("No posso executar uma diviso por 0!");
}