Escolar Documentos
Profissional Documentos
Cultura Documentos
Programacao Manual Javascript Wikibooks
Programacao Manual Javascript Wikibooks
1
Contedo disponvel sob GNU Free Documentation License.
Esta obra o resultado da experincia de vrias pessoas, que acreditam que a melhor forma
do conhecimento o conhecimento compartilhado. Aqui temos uma pequena referncia a estas
pessoas:
http://pt.wikibooks.org/wiki/Javascript
http://pt.wikibooks.org/wiki/Javascript
A verso para este arquivo PDF foi modificada pela ltima vez em 30 de Julho de 2006,
modificaes posteriores a esta data no site do Wikibooks no esto inclusas.
Este arquivo PDF foi feito atravs do software OpenOffice.org verso 2.0.3.
2
Contedo disponvel sob GNU Free Documentation License.
NDICE:
Introduo ....................................................4
Tipos de dados..............................................5
Converso de tipos........................................7
Variveis.......................................................8
Definio...........................................8
Escopo da varivel............................9
Constantes.......................................10
Matrizes...........................................11
Nmericas.......................................12
Strings.............................................13
Operadores..................................................14
Fluxo de controle........................................17
Bloco de comandos........................18
If..else.............................................18
While/do..while..............................19
Switch/case.....................................19
For...................................................20
Label...............................................20
Continue..........................................20
Break...............................................21
Throw..............................................21
Try/Catch/Finally............................21.
Funes.......................................................23
Objetos........................................................24
Definio........................................25
Propriedades...................................26
Objetos predefinidos......................26
Concluso...................................................42
Referncias na Internet...............................43
3
Contedo disponvel sob GNU Free Documentation License.
INTRODUO
Muito se fala sobre Javascript, porm existe muito pouca documentao em portugus desta
linguagem de programao.
O maior problema a confuso que se faz entre a linguagem Java e o Javascript com relao
a semelhana no nome, na mesma linha de raciocnio fazem a relao de C++ com Java pela
semelhana de comandos e sintaxes, embora a implementao de algumas sintaxes e construes
sejam parecidas so linguagens distintas, criadas para resolver problemas diferentes, e que por isto
possuem capacidades diferentes, o mesmo ocorre com Java e Javascript.
Enquanto a Linguagem Java fortemente tipada e possui tipos estticos o Javascript oferece
uma reduzida quantidade de tipos, isto , o necessrio para criao de telas dinmicas e certa lgica
as pginas html.
Javascript pequena, leve, portvel (est presente em quase todos os navegadores e em
todas as plataformas que estes navegadores rodam). Ela no uma linguagem para rodar sozinha,
precisando de um navegador para tal.
Javascript segue uma linha de quanto menor melhor, ou seja, ela pequena na sua escrita, e
criao de objetos. Os tipos de variveis so dinmicos, e possui objetos globais j predefinidos
conforme o ambiente que se encontra.
Inicialmente ela foi criada pela Netscape para ser a linguagem padro no navegador, para
produzir certa verificao aos dados. Porm com o passar do tempo, ela foi padronizada pela
ECMA(European Computer Manufactures Association) (http://www.ecma-international.org) vide
ECMA-262, tambm reconhecida pela ISO ISO-16262.
Porm esta padronizao no avanou sobre os objetos pblicos e seus respectivos mtodos,
o que torna difcil a padronizao de programas entre navegadores.
Aqui ser abordada a a especificao JavaScript 1.5 que segue a ecma262 edio 3.
TIPOS DE DADOS
O Javascript possui poucos tipos de dados, sendo eles:
Numricos:
Este tipo de dado armazena valores, tanto valores inteiros como ponto flutuante, por
exemplo:
1
84
2e10
3.141516
0.000001
Os valores numericos podem fazer parte de operaes aritimtica, como a soma, subtrao,
multiplicao e diviso.
Valores numricos tambm podem fazer parte de operaes aritimticas de bits. Como por
exemplo (>>) rotao de bits para direita, (<<) rotao de bits para esquerda, (>>>) rotao de bits a
direita sem levar em conta o sinal, (^) OU exclusivo (= XOR), (&) operao E binria (= AND), (|)
operao OU binria (= OR), (~) Negao binria (= NOT).
Existem vrias funes para manipulao de valores numricos, como funes
trigonomtricas, funes de arredondamento e exponenciao, funes de transformao de tipos,
etc.
Existem alguns valores numricos especiais, so eles :
Infinity - Representa um valor infinito, podendo ser tanto positivo quanto negativo.
Todas as operaes com valores infinitos resultaro num valor infinito, exceto
diviso e subtrao que resultar no NaN.
Lgicos:
Os valores lgicos podem assumir dois valores, true (verdadeiro) e false (falso).
Strings:
So cadeias de caracteres, o maior nmero que uma string pode conter depende do
navegador em uso.
5
Contedo disponvel sob GNU Free Documentation License.
Null:
O null um valor especial, representa um objeto nulo, no deve ser confundido com uma
varivel no inicializada, pois o valor null existe.
Portanto uma varivel com o contedo null existe em memria, referenciando este objeto
especial.
Undefined:
6
Contedo disponvel sob GNU Free Documentation License.
CONVERSO DE TIPOS
Atribuindo valores
numero = 1;
texto = "Srgio Eduardo Rodrigues";
valor = 123.45;
ativo= true;
nascimento = new Date(1969,1,4)
Nome
numero
texto
valor
ativo
nascimento
Tipo
numerica inteira
string
numerica com ponto flutuante
booleana
objeto date
Convertendo
Uma varivel pode ser atribuida para outro tipo, ou utilizando uma funo de converso ou
ento fazendo operaes aritimticas.
Como por exemplo, quando atribuimos ao numero o valor 1, ele se encontra no tipo
numrico inteiro, se o dividirmos por 2 ele ir para o tipo numrico ponto flutuante:
numero
numero
numero
outra
numero
numero
= 1; // inteiro 1
= numero / 2; // Vai para flutuante 0.5
= " " + numero; // ele convertido para string, pois est sendo somado
string
= parseFloat(numero); // Ele ir resultar no nmero 0.5
= parseInt(numero); // Vai para o inteiro 0
7
Contedo disponvel sob GNU Free Documentation License.
VARIVEIS: DEFINIO:
As variveis so representadas por nomes chamados de identificadores, este identificadores
tem certa regra para ser montado:
1 Deve iniciar obrigatoriamente por letra ou pelo smbolo _ ou $
2 A partir da alm de letras, _ e $ pode conter dgitos(0 at 9).
voc pode declarar uma varivel de duas formas:
1 Atribuindo diretamente a varivel,
exemplo
nome="Srgio";
2 Utilizando a palavra reservada var,
exemplo
var nome = Srgio Eduardo rodrigues;
Uma varivel ou matriz que no tenha sido inicializada, possui o valor de undefined,
observe que o Javascript sensvel para case-sensitive, ou seja, letras minsculas e maisculas
so diferentes, portanto, undefined e null devem ser escritos sempre em letra minsculas.
Se uma varivel declarada apenas, com o comando var, o seu contedo undefined, ou
NaN(Not a Number), caso esteja num contexto numrico.
Exemplo:
var x;
x = x * 2;
8
Contedo disponvel sob GNU Free Documentation License.
VARIVEIS: ESCOPO:
Caso a varivel seja declarada fora do corpo de uma funo ela ser considerada como
pblica, ou seja poder ser alcanada por todas as funes, caso ela seja declarada dentro de uma
funo ela considerada privada, pois somente pode ser vista pelo cdigo da funo.
Exemplo 1(varivel pblica):
var x=10;
function fx(){
... ser possvel utilizar o valor de x ...
}function fy() {
... ser possvel utilizar o valor de x ...
}
9
Contedo disponvel sob GNU Free Documentation License.
VARIVEIS: CONSTANTES:
So variveis declaradas com a palavra chave const, que no podem sofrer alterao de
seu contedo e nem de sua declarao no escopo da rotina. Exemplo:
const fator = 1.34;
const nome = Srgio
10
Contedo disponvel sob GNU Free Documentation License.
VARIVEIS: MATRIZES:
So variveis que contm vrias ocorrncias em seu interior. A declarao de uma varivel
feita utilizando ou elementos delimitados por colchetes [] ou pelo objeto Array(), exemplo:
var frutas=[laranja, banana, pera];
var nomes=new Array(Srgio, Eduardo,Rodrigues);
var valores=[1.34, 10, 50, 13e2];
pode-se utilizar elementos vazios na declarao de uma matriz, por exemplo :
resultado :
frutas[0] = "laranja"
frutas[1] = "banana"
frutas[2] = undefined
frutas[3] = "pera"
frutas[4] = undefined
frutas[5] = undefined
frutas[6] = "abacaxi"
lembre sempre que as matrizes iniciam pelo elemento zero(0).
length um atributo especial que possui a quantidade de elementos da matriz, no uma funo, ou
seja se utilizar frutas.length() ele causar erro.
11
Contedo disponvel sob GNU Free Documentation License.
VARIVEIS: NUMRICAS:
Existem duas categorias de nmeros, os de notao de ponto flutuante e os inteiros. Os
primeiros representam os valores fracionados, com valores decimais, podem ser expressos como:
01/01/23
1e3 = 1 x 10 = 1000
-3.28e12 = 3.28 x 1012 = 3280000000000
1e-12 = 1 x 10-12 = 0.000000000001
12
Contedo disponvel sob GNU Free Documentation License.
VARIVEIS: STRINGS:
So seqncia de caracteres delimitados por () aspas ou (') apstrofe. Exemplos:
'Srgio Eduardo'
"um texto qualquer"
"vrias linhas:\nSegunda Linha\tMesma linha com tabulao"
Ao inicializar uma string pode-se utilizar caracteres especiais, este tem uma barra inversa(\)
para indicar que seu significado especial, veja a seguinte tabela
\b
\t
\r
\n
\v
\uNNNN
\xNN
\0NNN
\'
\"
\\
13
Contedo disponvel sob GNU Free Documentation License.
OPERADORES:
Operadores para efetuar mudana do contedo de uma varivel:
Operador
Descrio
++
--
Descrio
==
Igual
!=
Diferente
===
!==
<
Menor que
<=
Menor ou igual a
>
Maior que
>=
Maior ou igual a
Operadores aritimticos:
Operador
Descrio
Mdulo
Soma
Subtrao
Multiplicao
Diviso
14
Contedo disponvel sob GNU Free Documentation License.
Mdulo
||
Ou
No
Operadores de bits:
Operador
Descrio
&
Operao E
Operao Ou
Operao Ou Exclusivo
Operao No
>>
<<
>>>
Operadores especiais:
Operador
Descrio
?:
delete variavel
typeof(objeto)
New
Cria uma instncia do objeto
TipoDoObjeto(p1, ...)
This
void (expressao)
Short Circuit
Operaes lgicas utilizam short circuit da seguinte forma:
true || qualquer coisa = true
false && qualquer coisa = false
Assim se esta funo estiver rodando no IE ou num navegador utilizando Gecko ir rodar da mesma
forma.
16
Contedo disponvel sob GNU Free Documentation License.
FLUXO DE CONTROLE:
Controlando o que e quando executado um comando, faz parte de todas as linguagens, e o
javascript no diferente.
Existem vrios comandos, que por isto so tratados como palavras reservadas e portanto no
devem ser utilizados como identificadores de variveis ou constantes.
So eles:
Bloco de comandos
if/then/else
while/do..while
switch/case
for
label
continue
break
throw
Try/Catch/Finally
17
Contedo disponvel sob GNU Free Documentation License.
}
ou
{
comando;
comando;
...
comando
comando;
comando;
...
comando;
Note que as trs comparaes sero feitas, independente da execuo, isto uma perda de
tempo, pois se de dia no pode ser tarde, neste caso anexamos a estrutura do 'if' o comando 'else'
que executa o comando a seguir caso o resultado da expresso lgica seja false, ficando o nosso
cdigo assim.
18
Contedo disponvel sob GNU Free Documentation License.
Assim torna mais legvel a o comando executado, sem falar que usando blocos de comandos
podemos agrupar mais de um comando.
Igual ao anterior, porm o comando executado pelo menos uma vez, mesmo que condio
seja falsa.
DO
COMANDO;
WHILE (CONDIO);
20
Contedo disponvel sob GNU Free Documentation License.
21
Contedo disponvel sob GNU Free Documentation License.
comando1;
} catch(e) {
comando2;
} finally {
comando3;
}
22
Contedo disponvel sob GNU Free Documentation License.
FUNES:
As funes so declaradas pela palavra reservada function seguido pelo identificador
seguido por parmetros delimitados por ( abre parntesis e ) fecha parntesis, e do corpo dela
que delimitado por { abre chave e } fecha chave, exemplo :
function quadrado(x) {
return x*x;
}
Funes Predefinidas
Nome
atob(base64)
Descrio
Converte um texto codificado em base64 para binrio. Funo inversa ao
btoa(texto)
Converte um texto para base64. Funo inversa ao atob(base64).
Funo inversa ao encodeURI
btoa(texto)
decodeURI(url)
decodeURIComponent(
Funo inversa ao encodeURIComponent
url)
isFinite(valor)
Identifica se o numero finito.
isNaN(valor)
Identifica se o valor no um numero
como o escape ele faz substituies no texto para compatibilizar
encodeURI(url)
transferencia em links, mas no faz converso para os caracteres !*()'
como o escape ele faz substituies no texto para compatibilizar
encodeURIComponent(
transferencia em links, mas no faz converso para os caracteres !
url)
@#$&*()=:/;?+'
Ajusta url para que possa ser passada em chamadas e links, convertendo
escape(url)
os caracteres especiais para formato hexadecimal e espao para o sinal de
+, no faz mudana nos caracteres @*/+ que ficam inalterados
Interpreta expresso de JavaScript, ex:
eval(expressao)
eval(1+2), resultado = 3
parseInt(String)
Converte a string num valor inteiro, ou converte uma string na base
ou
passada para inteiro.
parseInt(String, base)
Number(objeto)
Converte a string num valor ponto flutuante
parseFloat(String)
Converte a string num valor ponto flutuante
String(objeto)
Retorna a representao string do objeto
unescape(url)
Funo inversa ao escape(url)
23
Contedo disponvel sob GNU Free Documentation License.
OBJETOS:
Definio
Propriedades
Objetos predefinidos
24
Contedo disponvel sob GNU Free Documentation License.
OBJETOS: DEFINIO:
Podem ser declarados com propriedades e valores delimitados por chaves {} ou atravs de
funes. Exemplo:
var pessoa={
nome:"Srgio",
altura:1.72,
nascimento:new Date(1969,1,4)
};
ou
function objetoPessoa() {
this.nome = Srgio;
this.altura = 1.72;
this.nascimento = new Date(1969,1,4)
}
var pessoa = new objetoPessoa();
obs. O parmetro de ms na criao do objeto Date inicia com 0, ou seja 1 significa fevereiro.
Para acessar qualquer atributo do objeto, basta informar o nome do objeto seguido por seu atributo
aps um ponto(.), exemplo:
alert(pessoa.nome);
alert(pessoa.altura);
alert(pessoa.nascimento);
pessoa.mostre();
pessoa.nome = eduardo;
pessoa.altura = 1.78;
pessoa.nascimento = new Date(1975, 6, 25);
pessoa.mostre();
25
Contedo disponvel sob GNU Free Documentation License.
OBJETOS: PROPRIEDADES:
Pode-se acrescentar mtodos especiais para tratamento das operaes de get e de set, exemplo:
var conta={
valor:0;
set deposito(x) {
this.valor += x;
},
set saque(x) {
this.valor -= x;
},
get provisao() {
return valor/4;
}
};
conta.deposito = 100;
conta.saque = 50;
alert(proviso = + conta.provisao + \n saldo = + conta.valor);
Objeto Array:
Definio
O Objeto Array(matriz), pode ser tanto criado implicitamente :
var m=[1,2,3,4];
Como explicitamente :
var m=new Array(1,2,3,4);
26
Contedo disponvel sob GNU Free Documentation License.
Descrio
Quantidade de elementos que tem a
length
matriz
Mtodos
Nome
Descrio
Concatena elementos de duas matrizes, ex:
var m=[sergio, eduardo];
concat
var n=m.concat(rodrigues);
n ter valor : [sergio, eduardo, rodrigues]
join
var n=m.join(+ );
n ter valor : sergio+ eduardo+ rodrigues
reverse
var m=[sergio,eduardo,rodrigues];
var n=m.shift();
n ter valor: sergio
m ter valor: [eduardo, rodrigues]
Retona uma faixa da matriz, ex:
slice(inicio,
fim) ou
slice(inicio)
splice(inicio)
Adiciona ou remove faixas dentro de uma matriz, ex:
splice(inicio,
fim)
splice(inicio,
fim, item a
inserir ...)
var m=[sergio,eduardo,rodrigues];
var n=m.sort()
n ter valor: [eduardo,rodrigues,sergio]
No caso de passar a funo de comparao, ela deve retornar menor que zero se a
< b, 0 se a=b e maior que zero se a > b
Adiciona um ou mais elementos ao inicio da matriz, ex:
28
Contedo disponvel sob GNU Free Documentation License.
Objeto Date:
Mtodos
Nome
Descrio
Construtor:
Date(ano, ms)
Date(ano, ms, dia)
por 1.
Date.now()
getDate()
getDay()
getFullYear()
getHours()
Retorna hora
getMilliseconds()
Retorna os milisegundos
getMinutes()
Retorna os minutos
getMonth()
getSeconds()
Retorna os segundos
getTime()
getTimezoneOffset()
getUTCDate()
getUTCDay()
getUTCFullYear()
getUTCHours()
getUTCMilliseconds()
Milissegundos UTC
getUTCMinutes()
getUTCMonth()
Retorna o ms UTC
getUTCSeconds()
Retorna os segundos
getYear()
objDate.setMinutes(minutos)
Atribui minutos
objDate.setMinutes(minutos, segundo)
setMinutes(minutos, segundo, milessegundo)
objDate.setUTCHours(hora, minuto, segundo,
Atribui hora UTC
milesegundo)
setDate(dia)
Atribui dia do ms
setFullYear(ano)
setFullYear(ano, ms)
Atribui ano
Atribui milisegundos
setMonth(mes)
Atribui ms
setMonth(mes, dia)
setSeconds(segundos)
Atribui segundos
setSeconds(segundos, milesegundo)
setTime(milisegundos)
Milisegundos da data
setUTCDate(dia)
setUTCFullYear(ano)
setUTCFullYear(ano, ms)
setUTCMinutes(minutos)
setUTCMinutes(minutos, segundo)
setYear(ano, ms)
setYear(ano, ms, dia)
toLocaleDateString()
toLocaleTimeString()
toUTCString()
Objeto Math:
Atributos
Nome
Descrio
E
valor da constante e (2.718281828459045)
LN10
logartimo natural de 10 (2.302585092994046)
LN2
logartimo natural de 2 (0.6931471805599453)
LOG2E logartimo de e na base 2 (1.4426950408889634)
logartimo de e na base
LOG10E
10(0.4342944819032518)
PI
valor do pi (3.141592653589793)
SQRT1_2 raiz quadrada de 1/2 (0.7071067811865476)
SQRT2 raiz quadrada de 2(1.4142135623730951)
32
Contedo disponvel sob GNU Free Documentation License.
Mtodos
Nome
abs(v)
acos(v)
asin(v)
atan(v)
atan2(y, x)
ceil(v)
cos(v)
exp(v)
floor(v)
log(v)
max(valor
...)
min(valor ...)
pow(x, y)
ramdom()
round(v)
sin(v)
sqrt(v)
tan(v)
Descrio
valor absoluto de v
arcocosseno de v
arcoseno de v
arcotangente de v
arcotangente de y/x
prximo valor inteiro superior a
v
cosseno de v
e elevado a v
prximo valor inteiro inferior a v
logartimo de v na base 10
maior valor da lista
menor valor da lista
x elevado a y
numero randomico de >= 0 e < 1
arredondamento de v
seno de v
raiz quadrada de v
tangente de v
Objeto String:
Atributos
Nome
Descrio
length Tamanho da string
Mtodos
Nome
escape(string)
Descrio
mesmo que encodeURI
unescape(string)
encodeURI(string)
decodeURI(string)
new String(sergio).anchor(n);
retorna: <a name=n>sergio</a>
big()
new String(sergio).big();
retorna: <big>sergio</big>
blink()
new String(sergio).blink();
retorna: <blink>sergio</blink>
bold()
new String(sergio).bold();
retorna: <b>sergio</b>
charAt(posicao)
charCodeAt(posicao)
concat(item ...)
fixed()
new String(sergio).fixed();
retorna: <tt>sergio</tt>
fontcolor(cor)
new String("teste").fontcolor("blue"),
retorna: <font color="blue">teste</font>
fontsize(tamanho)
new String("teste").fontsize(16),
retorna: <font size="16">teste</font>
indexOf(substring)
indexOf(substring,
posioInicial)
italics()
new String(sergio).italics(),
retorna: <i>sergio</i>
lastIndexOf(substring)
lastIndexOf(substring,
posioInicial)
match(regexp)
replace(valorBusca,
valorSubstituio)
search(valorBusca)
slice(inicio)
new String("teste").small();
retorna: <small>teste</small>
split()
strike()
new String("teste").strike();
retorna: <strike>teste</strike>
sub()
new String("teste").sub();
retorna: <sub>teste</sub>
Retorna a substring da posio inicial, com
substr(posicao, quantidade)
substring(posioInicial)
substring(posioInicial,
posioFinal)
sup()
toLocaleLowerCase()
toLocaleUpperCase()
toLowerCase()
toUpperCase()
<mtodo esttico>
retorna o caracter representado pelo indice unicode <numero>
fromCharCode(numero)
Objeto Number:
Atributos
Nome
NaN
Descrio
Representa valores que no so considerados
nmeros
Mtodos
Nome
Number(numero)
Descrio
Construtor
toString()
toString(base)
toLocaleString()
valueOf()
toFixed(decimais)
toExponential(decimais
Retorna string notao exponencial com decimais dgitos
)
toPresision(decimais)
Objeto XMLHttpRequest:
Com o advento do AJAX, este objeto se torna cada vez mais importante. Ele, infelizmente,
no padronizado, e portanto, at que saia uma resoluo, devemos sempre fazer checagem
para criao deste objeto, a seguir apresento a sua estrutura, e em seguida uma pequena
rotina para criao e manipulao do mesmo.
Atributos
Nome
readyState
responseXML
responseText
status
statusText
multipart
Descrio
Representa o estado do objeto, pode ser :
*
*
*
*
*
0
1
2
3
4
Mtodos
Nome
stop()
Descrio
Pra a transferncia
getAllResponseReaders()
getResponseReader(name)
open("metodo", "url"[, indicadorDeAssincrono[, nomeUsuario
[, senha]]])
send(content)
setRequestHeader("nome", "valor")
overrideMimeType("mime-type")
Eventos
Nome
Descrio
Event listener que recebe event como parametro, assim pode-se receber
onload
elementos como resposta
onerror
Evento chamado caso ocorra um erro na carga
Evento chamado durante a carga, caso seja um conteudo muito grande para
onprogress
baixar.
onreadystatechange Evento chamado quando o estado da carga muda.
Exemplo de Uso:
try {
return text.split(/\r?\n|\r/);
} catch(e) {
return [];
}
}
this.loadLines = function(url, method) {
return this.splitLines(this.loadText(url, method ||
"GET"));
}
this.loadXML = function(url, method) {
var req = _newRequest();
req.open(method || "GET", this.concatTimer(url, _id++),
false);
if (_noBody)
req.send();
else
req.send(null);
return req.responseXML;
}
this.bind = function(object) {
var url = object['url'];
if (typeof url == 'undefined')
throw "necess?rio URL para fazer bind";
var id = _id++;
var req = _newRequest();
var method = object['method'] || "GET";
var headers = object['header'];
var body = object['body'];
var user = object['username'];
var pass = object['password'];
var onload = object['onload'];
var onerror = object['onerror'];
var onprocess = object['onprocess'];
var onstatechange = object['onstatechange'];
req.onreadystatechange=function() {
if (onstatechange)
onstatechange(req, id);
switch(req.readyState) {
case 0: // UNINITIALIZED open() no foi
chamado ainda
break;
case 1: // LOADING send() no foi
chamado ainda
foram concluidas
req.status == 200) {
if (onerror)
onerror(req, id,
req.statusText);
}
break;
}
}
if (user)
req.open(method, this.concatTimer(url, id),
else
}
}
if (window.ActiveXObject) {
var objectNames = [
"Msxml2.XMLHTTP.5.0",
"Msxml2.XMLHTTP.4.0",
"MSXML2.XMLHTTP.3.0",
"MSXML2.XMLHTTP",
"Microsoft.XMLHTTP"
];
for(var i=0; i < objectNames.length; i++) {
try {
var requestName = objectNames[i];
new ActiveXObject(requestName);
RequestObject = initRequest(function() { return new
ActiveXObject(requestName); }, true);
} catch(e) {
}
}
}
if (! RequestObject && window.XMLHttpRequest) {
try {
new XMLHttpRequest();
RequestObject = initRequest(function() { return new
XMLHttpRequest(); }, false);
} catch(e) {
}
}
if (! RequestObject) {
alert("Seu browser no esta preparado para o ajax");
}
Inclua na pgina, o seguinte comando para incluir este arquivo :
<script type="text/javascript" src="request.js"></script>
em seguida, voc pode utilizar o cdigo, como por exemplo, carregando um texto
de forma sincna :
var req = new RequestObject();
alert(req.loadText("textoqualer.txt"));
podemos tambm carregar numa matriz e processar linha a linha:
var req = new RequestObject();
var matriz = req.loadLines("textoqualer.txt");
for(var i=0; i < matriz.length; i++) {
alert(i + ":" + matriz[i]);
}
Outros Objetos:
Para referncias de outros objetos como DOM (Document Object Model), HTML e SVG,
visite o captulo on-line deste livro no site: http://pt.wikibooks.org/wiki/Javascript:_Objetos
41
CONCLUSO:
Espero ter dado uma pequena contribuio para a disseminao desta linguagem script, e
possa tornar a vida mais fcil para programadores que necessitam tornar suas pginas mais
inteligentes.
42
Contedo disponvel sob GNU Free Documentation License.
REFERNCIAS NA INTERNET:
Programao baseada em classe vs. Programao baseada em prottipo essencial para quem
est acostumado com o paradigma da programao orientada a objeto, o texto est em
Ingls.
43
Contedo disponvel sob GNU Free Documentation License.