Apostila JavaScript
Apostila JavaScript
em JavaScript
Datamec S.A.
Sumrio
CAPTULO 1: VISO GERAL ................................................................................................................ 5
OBJETIVO............................................................................................................................................... 6
O QUE JAVASCRIPT ............................................................................................................................. 7
VALORES E VARIVEIS ............................................................................................................................ 8
Declarao de variveis ................................................................................................................... 8
EXPRESSES ......................................................................................................................................... 9
OPERADORES ...................................................................................................................................... 10
Precedncia de operadores ........................................................................................................... 13
INSTRUES DE MANIPULAO DE OBJETOS .......................................................................................... 14
for... in............................................................................................................................................. 14
with ................................................................................................................................................. 14
FUNES ............................................................................................................................................. 15
REVISO .............................................................................................................................................. 16
Captulo 1:
Viso Geral
Objetivo
Ao final deste captulo voc ser capaz de:
-
O que JavaScript
JavaScript uma linguagem orientada objeto criada pela Netscape. Sua funcionalidade essencial
implementa um conjunto de objetos tais como Array, Date e Math e um conjunto de elemento como
operadores estruturas de controle e instrues.
JavaScript pode ser estendido uma srie de propsitos tais como:
-
JavaScript permite ainda a criao de pginas dinmicas (DHTML) que processa entradas do usurio,
cria animaes, etc.
CS (Client-Side) e SS(Server-Side) convivem juntas e tem um ncleo em comum. A figura abaixo
ilustra este ncleo.
Valores e variveis
JavaScript reconhece 4 tipos de valores: Nmeros, lgicos, strings, null e undefined. Null uma
palavra-chave especial simbolizando um valor nulo. JavaScript assim como java Case-sensitive.
Portanto null diferente de Null ou de NULL. Undefined tambm uma palavra-chave que
representa um valor indefinido.
A converso entre estes tipos de dados dinmica. Voc no tem que especificar o tipo de dado
quando declara uma varivel. A converso feita durante a execuo do script.
var answer = 42;
Declarao de variveis
Voc pode declara variveis de duas maneiras:
-
Anotaes
Expresses
Uma expresso operadores, variveis e expresses que avaliam um determinado valor.
Conceitualmente existem dois tipos de expresses: aquelas que atribuem valor uma varivel e
aquelas que simplesmente possuem um valor. Por exemplo, a expresso x = 7 uma expresso que
atribui 7 varivel x. Esta expresso usa operadores de atribuio. Por outro lado a expresso 3 + 4
no atribui nenhum valor a nenhuma varivel. Estes so chamados simplesmente de operadores.
JavaScript possui os seguintes tipos de expresses:
-
Anotaes
Operadores
JavaScript possui os seguintes tipos de operadores:
-
de atribuio;
de comparao;
aritmticos;
bitwise;
lgicos;
string;
especiais.
Anotaes
10
Anotaes
11
Operadores aritmticos:
Operadores lgicos:
Anotaes
12
Precedncia de operadores
A tabela abaixo mostra a precedncia de operadores, da mais baixa para mais alta.
Anotaes
13
14
for... in
A instruo for... in varre o vetor de propriedades do objeto especificado. No exemplo abaixo a funo
dump_props recebe como argumento um objeto e o nome do objeto. Ento ele varre todas
with
A instruo with estabelece um objeto padro ao qual o conjunto de propriedades utilizadas na
seqncia da declarao pertence. No exemplo abaixo a instruo with se refere propriedade PI e
aos mtodos cos e sin, sem especificar novamente o nome do objeto:
with (Math) {
a = PI * r * r;
x = r * cos(PI);
y = r * sin(PI/2);
}
Anotaes
15
Funes
Funes um dos mdulos fundamentais do JavaScript. O JavaScript assim como outras linguagens
fornecem funes predefinidas para realizao de tarefas bsicas. So estas:
-
Anotaes
16
Reviso
1. Utilizando o exemplo da apostila construa uma funo que mostre na tela todas propriedades de
um formulrio.
2. Quais so os tipos de variveis existentes em JavaScript?
17
Captulo 2:
Trabalhando com Objetos
Objetivo
Ao final deste captulo voc ser capaz de:
-
18
19
Objetos e Propriedades
Para acessar as propriedades dos objetos utiliza-se a seguinte notao:
NomedoObjeto.NomedaPropriedade
Ambos so case sensitive. Para definir a propriedade basta atribuir o valor. Por exemplo,
suponhamos que exista um objeto chamado myCar. O seguinte cdigo atribui valores s propriedades
make, model, year:
myCar.make = Ford;
myCar.model = Mustang;
myCar.year = 1969;
Anotaes
20
Este tipo de vetor chamado vetor associativo pois cada elemento do ndice est associado um
valor string. O exemplo abaixo ilustra este funcionamento.
function show_props(obj, obj_name) {
var result = ""
for (var i in obj)
result += obj_name + "." + i + " = " + obj[i] + "\n"
return result
}
Anotaes
21
Inicializando objetos
Os objetos podem ser inicializados atribuindo valores diretamente junto com a declarao.
NomedoObjeto = {Propriedade1:valor1, Propriedade2:valor2, Propriedade3:valor3}
O exemplo abaixo cria o objeto myHonda com trs propriedades. Note que o motor um objeto:
myHonda = {color:red, wheels:4, engine:{cylinders:4, size:2}}
Anotaes
22
Definindo mtodos
Um mtodo uma funo associada um objeto. Voc define mtodos da mesma maneira que
define funes:
Objeto.NomeMetodo = NomeFuncao
Utilizando o princpio do exemplo anterior, para adicionar o mtodo displayCar() ao objeto car primeiro
declara-se o mtodo:
function displayCar() {
var result = "A Beautiful " + this.year + " " + this.make
+ " " + this.model
document.write(result)
}
Para fazer desta funo um mtodo voc a atribui usando o seguinte cdigo:
this.displayCar = displayCar;
Anotaes
23
Ento voc chama a funo validate no evento onChange em cada campo do formulrio:
<INPUT TYPE="text" NAME="age" SIZE=3 onChange="validate(this, 18, 99)">
Apagando objetos
Para remover objetos da memria utilize a instruo delete de acordo com o exemplo:
myobj=new Number()
delete myobj // removes the object and returns true
Anotaes
24
Objetos predefinidos
JavaScript possui alguns objetos predefinidos que podem ser utilizados na criao de novos objetos
Array
Como JavaScript no tem um tipo de dado do tipo array voc pode utilizar este objeto para criar
variveis do tipo array:
coffees = ["French Roast", "Columbian", "Kona"]
Date
Este objeto pode ser utilizados para manipulaes de valores em formato de data como no exemplo
abaixo:
function JSClock() {
var time = new Date()
var hour = time.getHours()
var minute = time.getMinutes()
var second = time.getSeconds()
var temp = "" + ((hour > 12) ? hour - 12 : hour)
temp += ((minute < 10) ? ":0" : ":") + minute
temp += ((second < 10) ? ":0" : ":") + second
temp += (hour >= 12) ? " P.M." : " A.M."
return temp
}
Anotaes
25
Function
Seu uso sugere uma alternativa maneira tradicional de criar funes. Pode criar funes utilizando
apenas uma instruo, como no exemplo:
functionObjectName = new Function ([arg1, arg2, ... argn], functionBody)
Math
Fornece alguns mtodos interessantes para manipulao de valores matemticos: abs, sin, cos,
tan, acos, asin, atan, exp, log, ceil, floor, min, max, pow, round, sqrt
Number
Possui algumas propriedades teis para avaliar o valor do nmero: MAX_VALUE, MIN_VALUE, NaN,
NEGATIVE_INFINITY, POSITIVE_INFINITY.
String
Manipula os caracteres contidos em uma string.
Anotaes
26
Reviso
1. Crie um objeto atravs do mtodo de funo construtora e associe a ele propriedades e mtodos.
Utilize como tema a palavra aluno.
2. Crie uma funo que retorne os minutos da hora atual.
27
Captulo 3:
Usando Objetos do Navegador
Objetivo
Ao final deste captulo voc ser capaz de :
-
28
29
Hierarquia de objetos
Quando um documento carregado, o navegador cria um nmero de Objetos e propriedades
baseadas no documento HTML e outras informaes pertinentes. Estes objetos existem em uma
hierarquia que reflete a estrutura da pgina HTML. esta estrutura chamamos de DOM (Document
Objet Model).
Apesar do esforo do W3C para padronizar o DOM dos navegadores, ainda existe uma infinidade de
divergncias entre o DOM utilizado pelo Netscape e pelo Internet Explorer. A figura abaixo ilustra a
parte em comum entre os dois navegadores:
Anotaes
30
navigator
window
document
location
history
Anotaes
31
Principais Objetos
Abaixo segue a descrio dos principais objetos HTML que podem ser manipulados pelo JavaScript:
Window e frame
O objeto window o objeto pai de todos os outros objetos. Cada objeto window tem inmeros objetos
interessantes tais como: open, para abrir uma nova janela; close, para fechar; alert, para enviar uma
mensagem para o usurio; confirm, para fazer uma pergunta ao usurio; prompt, para que o usurio
entre com algum valor.
Document
O objeto document o objeto mais usado em JavaScript. Para maiores informaes consulte o
JavaScript Reference
Form
Cada formulrio no documento cria um objeto form. Como um documento pode conter mais de um
formulrio, estes so armazenados no vetor chamado forms. Cada elemento dentro do objeto form
armazenado em um vetor chamado elements. Assim todos eles podem ser acessados atravs do seu
prprio nome como ndice:
Document.forms[0].elements[0]
Location
O objeto location possui propriedades baseadas no endereo corrente. Por exemplo a propriedade
hostname retorna o nome do servidor que hospeda a pgina carregada. O objeto location possui
tambm dois mtodos: reload, que fora o navegador a recarregar a pgina e replace que carrega a
URL especificada.
Anotaes
32
History
O objeto history contm uma lista de caracteres representado as URLs que o usurio j visitou. Voc
pode acessar todas as URLs navegadas pelo usurio atravs das propriedades current, next e
previous. Voc tambm pode utilizar o vetor history para acessar outras ocorrncias.
Voc tambm pode utilizar o mtodo go que recebe como parmetro o nmero da pgina para onde o
navegador deve ir. No exemplo abaixo o script manda o navegador para duas pginas anteriores
pgina atual:
history.go(-2)
Navigator
O objeto Navigator contm informaes sobre a verso do navegador utilizado. O objeto navegador
possui trs mtodos:
-
Anotaes
33
Reviso
1. Crie um formulrio de envio de e-mail.
2. Crie um script de validao para validar se o usurio preencheu ou no o e-mail no campo e-mail.
Utilize seus conhecimento e os conhecimento adquiridos neste curso.