30 março 2009

86

Tutorial - Javascript


Bom aqui vai um tutorial completo sobre javascript. Me desculpem pelo tamanho (hehe), mas acho que mais vale um tutorial completo do que um resumo né? Então vamos a ele:

Eu ensinarei digitando os scripts, claro que hoje existem inumeros softwares (como o DreamWeaver que pode ser baixado aqui) que criam o javascript, não necessitando conhecer esta linguagem. Mas assim como no Html é muito importante conhecer a linguagem, pois muitas vezes acontecerão erros que só poderão ser corrigidos manualmente no código fonte. Chega de conversa, vamos começar então:

Leia Mais...

O que é Javascript

Javascript é uma linguagem de script orientada a objetos, utilizada para
desenvolver aplicações cliente para Internet/Intranet. Ela foi criada pela Netscape
a fim de expandir a funcionalidade de seu popular browser: o Navigator.

CARACTERÍSTICAS BÁSICAS
Javascript é uma linguagem de script (scripts são “miniprogramas”
interpretados e voltados para execução de tarefas específicas) com uma sintaxe
bastante similar a C, C++, Pascal e Delphi.
Os comandos e funções de Javascript são inseridos dentro de um
documento da Web, junto com tags HTML e texto. Quando o navegador de um
usuário acessa este documento, ele formata a página, executando o programa
nela inserido. Para acessar uma página que possui scripts, o navegador deve ser
capaz de interpretar a linguagem.
Javascript é uma linguagem baseada em objetos. Uma linguagem baseada
em objetos é uma linguagem orientada a objetos com um conjunto de objetos já
embutidos.

Sempre que algo acontece em uma página Web, ocorre um evento. Eventos
podem ser qualquer coisa – um botão recebe um clique, o mouse é arrastado, uma
página é carregada, um formulário é enviado, e assim por diante. Javascript é
uma linguagem dirigida por eventos, no sentido de que é projetada para reagir
quando um evento ocorre.
A linguagem Javascript foi projetada para manipular e apresentar
informação através de um navegador. Ela não é capaz de recuperar informações
de outro arquivo ou salvar dados em um servidor da Web, ou no computador do
usuário. Isto significa que não é possível escrever um programa Javascript que,
por exemplo, varra os diretórios de um computador, lendo ou apagando
arquivos do usuário.
Javascript é uma linguagem independente de plataforma, ou seja, o código
escrito nesta linguagem não depende de uma plataforma específica (Windows,
Macintosh, UNIX, etc), depende apenas do navegador que a interpreta. Dessa
forma, quer o usuário tenha um navegador para Windows, Macintosh ou UNIX, o
código Javascript será executado sem que nenhuma adaptação seja necessária.

PARTICULARIDADES E LIMITAÇÕES
Javascript é importante para desenvolvedores de páginas Web quedesejam estender a capacidade de seus documentos HTML, tornando-os dinâmicos. No entanto, esta linguagem apresenta algumas limitações, que se encaixam em três categorias:

· Limitações de Browsers
Como o código Javascript é executado no cliente (browser), seu interpretador
deve ser implementado dentro do browser. A maioria dos browsers disponíveis no
mercado atualmente (versões recentes do Internet Explorer e do Netscape) dão
suporte à Javascript.

· Limitações de Plataformas
Embora Javascript rode em todas as plataformas para as quais browsers
compatíveis existem, nem todas as funções de Javascript rodarão do mesmo
modo em plataformas distintas.

· Limitações de Segurança
A linguagem Javascript foi projetada para ser segura com respeito à Web. Para
isso, ela foi concebida com algumas restrições:
- Ela não pode abrir, ler, gravar ou salvar arquivos no computador do
usuário. A única informação que ela pode acessar é a que está na página
Web onde reside (ou em outras páginas carregadas ao mesmo tempo, como
ocorre quando se usam frames);
- Ela não pode abrir, ler, gravar ou salvar arquivos no servidor Web;
- Ela não pode ser usada para criar vírus que danifique o computador do
usuário.
Resumindo, Javascript é uma linguagem segura e não consegue interagir
diretamente com nada no computador do usuário fora da página Web que está
sendo exibida no navegador.


Elemento SCRIPT

container tag: <SCRIPT>...</SCRIPT>
atributos: LANGUAGE, SRC

Dentro de um documento HTML, a linguagem Javascript é delimitada pelo par de tags <SCRIPT> e </SCRIPT>. Você pode posicionar a tag <SCRIPT> dentro dos elementos <HEAD> e </HEAD>, <BODY> e </BODY>, ou ambos – é possível incorporar múltiplos elementos <SCRIPT> dentro de um documento.


Scripts dentro da tag <HEAD> são carregados antes que o resto da página
seja carregado, tornando-se um excelente lugar para colocar suas funções
Javascript (para garantir que elas estejam disponíveis para outras partes do
documento). Colocar scripts dentro da tag <BODY> faz com que seja possível
criar, dinamicamente, partes de seu documento (exibindo, por exemplo, a hora).

A sintaxe do elemento <SCRIPT> é:

<SCRIPT LANGUAGE=“javascript”> código-fonte javascript </SCRIPT>


A tag <SCRIPT> informa o interpretador Javascript do navegador que um
script encontra-se embutido. O atributo LANGUAGE identifica a linguagem que
deve ser utilizada para interpretar o código do script. Isto é necessário porque
existem outras linguagens para construção de scripts, como, por exemplo,
VBScript (Microsoft).

O atributo SRC permite chamar um arquivo de scripts externo (arquivos
com extensão “.js” ). A fim de facilitar a manutenção, recomenda-se armazenar
ar funções Javascript de uma página em um arquivo separado, que pode ser
incluído no documento HTML com a construção abaixo.
<SCRIPT LANGUAGE=“javascript” SRC=”funcoes.js”></SCRIPT>

· Criando o primeiro script

O exemplo abaixo imprime a frase “Bom dia!” na página. Observe que, apesar de
não existirem elementos entre as marcações <BODY> e </BODY>, esta frase é
exibida. Isto ocorre porque a função document.write() instrui o navegador
a colocar o que estiver entre apóstrofos na página.

<html>
<head>
<script language="javascript">
document.write("Bom dia!<BR>");
</script>
</head>
<body>
</body>
</html>

· Criando o segundo script

Uma das razões de utilizar Javascript é a possibilidade de montar um texto para
ser exibido, incluindo valores de variáveis que podem ser inseridos pelo usuário.

<html>
<head>
<script language="javascript">
var nome
nome = window.prompt("Digite o seu nome:");
document.write("Bom dia, " + nome + "!<BR>");
</script>
</head>
<body>
</body>
</html>

Neste ponto, é importante lembrar que nem todos os navegadores
interpretam Javascript. Para evitar resultados indesejados (por exemplo, listagem
do código da função Javascript que deveria ser interpretada), usam-se as
marcações de comentários “<!—“ e “-->”, conforme exemplo a seguir.

<html>
<head>
<script language="javascript">
<!--
var nome
nome = window.prompt("Digite o seu nome:");
document.write("Bom dia, " + nome + "!<BR>");
//-->
</script>
</head>
<body>
</body>
</html>

Eventos em Javascript

Javascript é uma linguagem dirigida por eventos. Eventos (tais como, clicar
no mouse, ou pressionar um botão) são utilizados para controlar a interação do
usuário com o aplicativo.
Programas convencionais funcionam de maneira diferente. Um programa
convencional executa seu código sequencialmente.
function exibe() {
if ( !(confirm(“Quer encerrar?”) ) {
documento.write (“Oi, pessoal da Internet!”);
}
}
Um programa que queira que o usuário confirme a exibição de uma frase
poderia usar a função acima para obter a entrada do usuário. Entretanto, este
programa ficaria preso na função exibe(), esperando por uma resposta.
Enquanto isso, não é possível ter outra operação sendo executada. Quaisquer
outras entradas e operações são suspensas até que o usuário responda à
pergunta.

Uma abordagem melhor seria usar um dos manipuladores de eventos de
Javascript para ativar a função abaixo.
function exibe() {
documento.write (“Oi, pessoal da Internet!”);
}
Manipuladores Javascript são representados como atributos especiais que
modificam o comportamento de uma tag HTML à qual são anexados. Atributos
de manipulação de eventos começam todos com “On” e identificam os diversos
eventos que podem ocorrer. O valor associado ao manipulador pode ser uma
sequência de declarações Javascript, ou uma chamada de função Javascript.

Manipuladores de eventos

Manipuladores de eventos Javascript servem para interfacear um script com atividades do sistema ou ações do usuário. Eles são divididos em 2 categorias:
eventos de sistema e eventos de mouse.
Os eventos de sistema disponíveis são: OnLoad e OnUnload. Eles não exigem
a interação do usuário para serem ativados.
Os eventos de mouse disponíveis são: OnClick, OnFocus, OnBlur, OnChange,
OnSelect, OnSubmit e OnMouseOver. Eles exigem a interação do usuário (através
do mouse ou não) para serem ativados.

ONLOAD

Este evento é ativado após a página HTML ser completamente carregada.
Ele pode ser associado às tags <BODY> ou <FRAMESET>.
Exemplo:

<html>
<head>
<script language=”Javascript”>
function chegada() {
window.alert(“Seja bem-vindo ao nosso site!”);
}
</script>
</head>
<body OnLoad=“chegada()”>
Veja que interessante utilização do evento <I>OnLoad</I>.
</body>
</html>

ONUNLOAD

Este evento é ativado após a página HTML ser abandonada (seja através
do clique sobre algum link, ou sobre os botões de avanço/retrocesso do browser).
Ele pode ser associado às tags <BODY> ou <FRAMESET>.
Exemplo:

<html>
<head>
<script language=”Javascript”>
function saida() {
window.alert(“Volte sempre!”);
}
</script>
</head>
<body OnUnload=“saida()”> Veja que interessante utilização do evento <I>OnUnLoad</I>.
</body>
</html>

ONCLICK

O evento mais básico de mouse é tratado pelo manipulador OnClick. Este
evento é ativado sempre que se dá um clique sobre um objeto que aceita evento
de clique de mouse. Objetos que aceitam um evento OnClick são links, caixas de
verificação e botões.
Exemplo:

<html>
<head>
<script language=”Javascript”>
function mensagem() {
window.alert(“Você clicou neste campo”);
}
</script>
</head>
<body>
<a href=”exemplo3.html” OnClick=”mensagem()”>
<i>Link</i> comum</a><br>
<form>
<input type=“radio” OnClick=“mensagem()”><i>Radio</i>
<br>
<input type=“checkbox” OnClick=“mensagem()”><i>Checkbox</i>
<br>
<input type=“reset” OnClick=“mensagem()”>
<br>
<input type=“submit” OnClick=“mensagem()”>
<br>
</form>
</body>
</html>

ONFOCUS

O foco ocorre quando um objeto torna-se o item em foco. Isto acontece
quando o usuário clicar ou alternar para um objeto específico na página. Este
evento pode ser associado aos objetos text, password, textarea e select (definidos
pelas tags <INPUT>, <TEXTAREA> e <SELECT>).
Exemplo:
<html>
<head>
<script language=”Javascript”>
function foco() {
window.alert(“O campo EMAIL está em foco”);
}
</script>
</head>
<body><form>
Nome: <input name=“nome” type=“text”><br>
Email: <input name=“email” type=“text” OnFocus=“foco()”><br>
Telefone: <input name=“telefone” type=“text”>
</form></body>
</html>

ONBLUR

Este evento é ativado quando um objeto torna-se fora de foco - quando se
muda para outra janela, ou aplicativo, ou quando se passa para outro objeto
utilizando cliques do mouse, ou a tecla TAB. Ele é associado aos objetos text,
password, textarea e select (definidos pelas tags <INPUT>, <TEXTAREA> e
<SELECT>).
Exemplo:

<html><head><script language=”Javascript”>
function semfoco() {
window.alert(“O campo EMAIL perdeu o foco”);
}
</script></head>
<body><form>
Nome: <input name=“nome” type=“text”>
<br>
Email:<input name=“email” type=“text” OnBlur=“semfoco()”>
<br>
Telefone: <input name=“telefone” type=“text”>
</form></body></html>

ONCHANGE

Este evento é ativado sempre que um objeto perde o foco e o seu valor é
alterado. Ele é associado aos objetos text, password, textarea e select (definidos
pelas tags <INPUT>, <TEXTAREA> e <SELECT>).
Exemplo:

<html>
<head>
<script language="Javascript">
function mudou1() {
document.form1.completo.value=document.form1.nome.value;
}
function mudou2() {
document.form1.completo.value=document.form1.completo.value
+ " ” + document.form1.sobrenome.value;
}
</script>
</head>
<body bgcolor=white link=blue vlink=blue alink=blue>
<form name=form1>
<pre>
Nome:
<input name="nome" type="text" OnChange="mudou1()">
Sobrenome:
<input name="sobrenome" type="text" OnChange="mudou2()">
Nome completo:
<input name="completo" type="text">
</pre>
</form>
</body>
</html>

ONSELECT
Este evento é ativado quando o usuário seleciona (deixa em destaque)
parte do texto em um dos objetos aos quais está associado. São eles: text, password
e textarea (definidos pelas tags <INPUT> e <TEXTAREA>).
Exemplo:

<html>
<head>
<script language="Javascript">
function selecao() {
window.alert("Campo selecionado");
}
</script>
</head>
<body bgcolor=white link=blue vlink=blue alink=blue>
<form>
<pre>
Campo input texto:
<input type="text" OnSelect="selecao()">
Campo input senha:
<input type="password" OnSelect="selecao()">
Campo textarea:
<textarea OnSelect="selecao()"></textarea>
</pre>
</form>
</body>
</html>

ONSUBMIT

Este evento é ativado no momento de enviar os dados do formulário. Ele é
associado ao objeto form (definido pela tag <FORM>).
Exemplo:

<html>
<head>
<script language="Javascript">
function submete() {
window.alert("Evento OnSubmit ativado!");
}
</script>
</head>
<body bgcolor=white link=blue vlink=blue alink=blue>
<form name=form1 OnSubmit="submete()">
Campo 1: <input type="text" size=10 name=campo1><br>
Campo 2: <input type="text" size=10 name=campo2><p>
<input type=submit>
</form>
</body>
</html>

Muitas vezes, os dados que são inseridos em um formulário precisam ser
separados, analisados, manipulados ou verificados quanto a erros antes de serem
transmitidos para o servidor. O evento OnSubmit permite a captura e, se
necessário, a interrupção do envio dos dados de um formulário. Isto é realizado
chamando-se a função a partir do manipulador OnSubmit, fazendo com que ela
retorne verdadeiro ou falso. Se a função associada ao manipulador retornar falso,
os dados do formulário não serão enviados. Esta funcionalidade pode ser
verificada a partir do código a seguir.
Exemplo:

<html>
<head>
<script language="Javascript">
function submete() {
if (document.form1.campo1.value == "" ||
document.form1.campo2.value == "") {
return false;
}
else {
return true;
}
}
</script>
</head>
<body bgcolor=white link=blue vlink=blue alink=blue>
<form name=form1 action="exemplo8b.html"
OnSubmit="return submete()">
Campo 1: <input type="text" size=10 name=campo1>
<br>
Campo 2: <input type="text" size=10 name=campo2>
<p>
<input type=submit>
</form>
</body>
</html>

ONMOUSEOVER
Este evento é ativado quando o ponteiro do mouse passa sobre um objeto
do tipo links ou botões.

Exemplo:

<html>

<head>

<script language="Javascript">

function ativa() {

window.alert("Evento OnMouseOver ativado!");

}

</script>

</head>

<body bgcolor=white link=blue vlink=blue alink=blue>

<a href="exemplo9.html" OnMouseOver="ativa()">

Passe o <i>mouse</i> sobre este <i>link</i></a>

<form>

<input type="reset" value="Botão Reset"

OnMouseOver="ativa()"><P>

<input type="submit" value="Botão Submit"

OnMouseOver="ativa()">

</form>

</body>

</html>



Construções de Javascript

- Conceitos básicos de programação

CONSTRUÇÃO DE NOMES

Javascript apresenta algumas restrições quanto ao nome de

variáveis/funções:

· não é permitido colocar espaço em branco em um nome;

· não é permitido incluir um hífen (“-”) em um nome;

· não é permitido colocar os seguintes caracteres em um nome: . , ; “ ‘ ?

· embora seja possível usar dígitos em um nome, ele precisa começar com uma

letra;

· não é permitido utilizar, como nome de uma nova variável/função, alguma

das palavras reservadas de Javascript.

Segue a relação de palavras que não podem ser usadas como nomes de

variáveis ou funções em Javascript:

abstract, boolean, break, byte, case, catch, char, class, const, continue, default, do, double,

else, extends, false, final, finally, float, for, function, goto, if, implements, import, in,

instanceof, nt, interface, long, native, new, null, package, private, protected, public,

return, short, static, super, switch, synchronized, this, throw, throws, transient, true,

try, var, void, while, with.



DECLARAÇÃO DE VARIÁVEIS

Cada variável tem que ser declarada como global ou local. A única

diferença entre estes dois tipos em Javascript é onde elas estão localizadas dentro

do código. É possível definir variáveis antes de atribuir um valor a elas, ou no

momento em que fizer a atribuição.

· Variáveis Locais

São definidas dentro do corpo de uma função. Elas são válidas apenas dentro

do corpo da função onde foram definidas (escopo limitado).

Exemplo:

function adiciona(valor){

var a

a = valor + 10;

...

}

function subtrai(valor){

var b

b = valor - 10;

...

}

Neste exemplo, a variável a é vista apenas pela função adiciona(), enquanto

que a variável b é vista apenas por subtrai().

· Variáveis Globais

São definidas fora de todos os corpos de funções de um arquivo Javascript.

Elas são válidas dentro de qualquer função do arquivo.

Exemplo:

var total = 0;

function adiciona(valor){

var a = valor + 10;

total = total + a;

}

function subtrai(valor){

var b = valor - 10;

total = total - b;

}

Neste exemplo, a variável total é definida tanto fora da função adiciona(),

quanto fora da função subtrai(), de forma que está acessível a ambas.

3.1.3 TIPOS DE VALORES

Existem 4 (quatro) tipos de variáveis reconhecidos por Javascript:

números, valores lógicos (booleanos), strings e nulos. O tipo específico de uma

variável depende dos dados atribuídos a ela.

· Número: qualquer número positivo ou negativo. Este número pode ser

inteiro no formato decimal, hexadecimal ou octal. Pode também ser número

de ponto flutuante com/sem exponencial;


· Booleano: true ou false (sem aspas);

· String: conjunto de caracteres limitados por aspas/apóstrofos. Um string

exige um par de aspas (ou apóstrofos) para identificá-lo como string;

· Nulo: null (palavra chave que denota o valor nulo).

3.1.4 CARACTERES ESPECIAIS

Alguns caracteres especiais que são permitidos em valores do tipo string:

· \b: retrocesso (backspace);

· \f: nova página (form feed);

· \n: nova linha (line feed);

· \r: retorno de carro (carriage return);

· \t: caracter de tabulação (tab).


EXPRESSÕES

Expressão é um conjunto de literais (constantes), variáveis e operadores

que, avaliados, resultam em um único valor (número, string ou booleano).

Existem 3 (três) tipos de expressões em Javascript:

· expressões aritméticas: resultam em um número;

· expressões de string: resultam em uma sequência de caracteres (string);

· expressões lógicas: resultam em verdadeiro ou falso, representados,

respectivamente, pelas palavras reservadas true e false.


OPERADORES

Operadores são símbolos especiais que controlam como uma expressão

deve ser avaliada. Um operador pode ser binário - exige dois operandos; ou

unário - exige apenas um operando (antes ou depois do operador).

Os operadores podem, ainda, ser classificados de acordo com o tipo dos

operandos que manipulam: operadores aritméticos, operadores de comparação,

operadores de string, operadores lógicos, operadores bit a bit e operadores de

atribuição.

· OPERADORES ARITMÉTICOS

Operadores aritméticos constróem expressões aritméticas. Eles recebem e

retornam números.


A tabela mostra os operadores aritméticos básicos de Javascript.


Existem outros operadores aritméticos em Javascript. São eles:

- Módulo (%)

Retorna o resto da operação de divisão inteira entre os operandos.

Exemplo: 22 % 5 => 2

- Incremento (++)

É uma forma abreviada de adicionar 1 a um operando (o operando deve

ser uma variável).

Exemplo: operando++ => operando = operando + 1

O operador de incremento pode ser escrito como operando++ ou

++operando. O lado em que o operador está controla quando 1 é

adicionado ao operando (com respeito ao resto da expressão). Se ele é

usado depois do operando, retorna o valor do operando antes de

incrementá-lo. Por exemplo, se x=3, a declaração y=x++ coloca primeiro

o valor 3 em y e, depois, incrementa x para 4. Se, por outro lado, o

operador de incremento for colocado antes do operando, ele retorna o

valor do operando depois de o operando ser incrementado. O código

y=++x primeiro incrementa o x para 4 e, então, coloca o valor 4 em y.

- Decremento (--)

É uma forma abreviada de subtrair 1 de um operando (o operando deve

ser uma variável).

Exemplo: operando-- => operando = operando – 1

De forma semelhante ao operador de incremento, o operador de

decremento pode ser escrito como operando-- ou --operando.

- Negação Unária (-)

Este operador nega o seu operando.

Exemplo: x = 4; y = -x => y = -4


· OPERADORES DE COMPARAÇÃO

Um operador de comparação compara seus operandos e retorna um valor

booleano. Estes operandos podem ser números ou strings.

A tabela mostra os operadores de comparação de Javascript.


· OPERADORES DE STRING

O operador de string, “+”, serve para concatenar strings. Ele recebe e retorna

strings.

Exemplo: “string1” + “string2” => “string1string2”


· OPERADORES LÓGICOS

Os operadores lógicos retornam valores booleanos.

A tabela mostra os operadores lógicos de Javascript.


· OPERADORES BIT A BIT

Os operadores bit a bit servem para manipular um número a nível de bit.

A tabela mostra os operadores lógicos de Javascript.


· OPERADORES DE ATRIBUIÇÃO

Javascript dá suporte a um método abreviado de escrever operações

aritméticas padrão e bit a bit. São os operadores de atribuição, apresentados na

tabela.


· Precedência de Operadores

Em Javascript, os operadores têm certa ordem de precedência, ou que

operadores são avaliados em primeiro lugar e em que ordem. A ordem de

precedência, da mais alta (primeira) à mais baixa (última), é a seguinte:

- Chamadas e membros ( ( ) e [ ] );

- Negação, incremento e decremento (!, ~, -, ++ e --);

- Multiplicação e divisão (*, / e %);

- Adição e subtração (+ e -);

- Deslocamentos (<<, >> e >>>);

- Relacionais (<, <=, > e >=);

- Igualdade (== e !=);

- E bit a bit (&);

- OU Exclusivo bit e bit (^);

- OU bit a bit ( | );

- E Lógico (&&);

- OU Lógico ( || );

- Atribuição.


DECLARAÇÕES

Declaração é uma sequência de palavras-chave, operadores, operandos

e/ou expressões terminados por um ponto-e-vírgula.

Todas as declarações em Javascript podem ser agrupadas em uma das

seguintes categorias:

- Comandos;

- Declarações Condicionais;

- Declarações de Laço;

- Declarações de Manipulação de Objetos.


· COMANDOS

- Declaração de variáveis

A declaração var indica que a palavra imediatamente subsequente é uma

variável, à qual é possível atribuir qualquer valor.

Exemplo: var i;

var i=10;

var x, y, z=1;

- Comentário em uma única linha

Para acrescentar comentários que ocupam apenas uma linha, deve-se

colocar a sequência “//” antes do texto de comentário.

Exemplo: total = total + 1; //acumula total

- Comentário em mais de uma linha

Para acrescentar comentários que ocupam mais de uma linha, deve-se

colocar a sequência “/*” na primeira linha e “*/” na última linha.

Exemplo: /* aqui começa o comentário

aqui termina o comentário */


· DECLARAÇÕES CONDICIONAIS

Permitem controlar o conjunto de declarações que serão executadas, com base

em uma condição (uma expressão ser verdadeira ou falsa). A declaração

condicional de Javascript usa as palavras-chave if e else, e switch.

Sintaxe: declaração if e else

if (condição) {

// faz algo se a condição for verdadeira

}

else {

// faz algo se a condição for falsa

}

Sintaxe: declaração switch

switch (fruta) {

case “Laranja”:

XYZ = 1

break

case “Banana”:

XYZ = 2

break

default:

XYZ = 3

}

As chaves ( “{ }” ) definem um bloco de declarações que são tratadas e

executadas como uma unidade.



· DECLARAÇÕES DE LAÇO

Possibilitam repetir a execução de um conjunto de declarações mais de uma

vez.

As declarações de laço de Javascript usam as palavras-chave for e while.

Sintaxe: declaração for

for (inicialização; condição; incremento) {

declaração 1;

...

declaração n;

}

De acordo com a sintaxe exposta anteriormente:

- inicialização é uma expressão usada para inicializar uma variável

contador (a variável utilizada para controlar o número de vezes que o

laço é executado);

- condição é uma expressão booleana avaliada a cada repetição do

laço, antes do corpo do laço ser executado. Enquanto a expressão for

verdadeira, o conteúdo do laço é executado;

- incremento é uma expressão usada para atualizar (através de

incremento ou decremento) o contador.

Exemplo:

for (i=1; i <=5; i++) {

total = total + 1;

}

Na declaração for, pode-se omitir as partes de inicialização, condição e

incremento, contanto que as vírgulas permaneçam.

Sintaxe: declaração while

while (condição) {

declaração 1;

...

declaração n;

}

Dentro do corpo de um laço for e while, é possível controlar até quando o

laço deve ser executado. Isto é obtido através das declarações break e continue:

- break: cancela a execução dos laços for e while, passando o controle para

a próxima instrução fora do laço;

- continue: em um laço for, ela cancela a execução, passando o controle

para a próxima iteração; em um laço while, ela cancela a execução,

voltando à condição.


· DECLARAÇÕES DE MANIPULAÇÃO DE OBJETOS

Javascript é uma linguagem baseada em objetos. Um objeto é uma entidade

que contém componentes associados que podem armazenar diversos valores.

Algumas vezes pode ser preciso efetuar operações em todas as propriedades

de um objeto, ou, até mesmo, listar as propriedades de um objeto. Estas tarefas

são facilmente executadas através das declarações for...in e with. Existe também o

operador especial para objetos new e uma palavra-chave especial this.

- Operador new

Cria uma nova instância de um objeto.

Sintaxe:

novaVar = new tipoObjeto (parâmetros);

onde, novaVar é a variável de objeto criada, tipoObjeto é o tipo do objeto

que está sendo criado (um dos tipos embutidos de Javascript), e parâmetros

são quaisquer parâmetros de que o objeto precisa para ser criado

corretamente.

- Palavra-chave this

Objetos são constituídos de propriedades e métodos . Muitos dos objetos

embutidos de Javascript contêm, por sua vez, outros objetos, que podem

conter outros objetos, e assim por diante. Às vezes, torna-se difícil saber

em que ponto se está na árvore de objetos. Javascript oferece um “atalho”

para referenciar o objeto corrente – a palavra-chave this.

Sintaxe:

this.propriedade

- Declaração for... in

Repete uma variável sobre todas as propriedades de um objeto. Este é um

tipo especial de declaração de laço que varre todas as propriedades de um

objeto.

Sintaxe:

for (propriedade in objeto) {

declarações

}

onde, objeto é o objeto em que se está trabalhando, e propriedade é o nome

da propriedade do objeto. A cada iteração do laço, propriedade recebe uma

propriedade diferente do objeto. O laço se encerra quando todas as

propriedades de um objeto já foram visitadas.

Exemplo:

<html>

<head><title>Javascript</title></head>

<body>

<h3>Propriedades do Documento</h3>

<hr>

<script language="javascript">

for (propriedade in document)

document.write(propriedade + "<br>");

</script>

</body>

</html>

- Declaração with

Indica que, no corpo da declaração, todas as referências a variáveis são

propriedades do objeto em questão.

Sintaxe:

with (objeto) {

declarações

}

Exemplo:

with (document){

fgColor = “#000000”;

bgColor = “#FFFFFF”;

}

O código acima pode ser usado no lugar de:

document.fgColor = “#000000”;

document.bgColor = “#FFFFFF”;

3.1.8 FUNÇÕES

Uma função é um conjunto de declarações que executam uma tarefa

específica.

Existem dois tipos de funções: funções desenvolvidas pelo usuário e

funções pré-definidas da linguagem.

Em Javascript, uma função é identificada pela palavra-chave function, uma

palavra chamada nomeFunção, e um par de parênteses ( “( )” ), que delimitam

zero ou mais parâmetros. Todas as declarações dentro de uma função estão

dentro de um par de chaves ( “{ }” ).

Sintaxe:

function nomeFunção ( ) {

declaração 1;

...

declaração n;

}

A declaração return é utilizada, dentro do corpo de uma função, para retornar

um valor, ou para cancelar imediatamente a execução da função.

Exemplo:

function aoCubo(valor) {

return valor * valor * valor;

}

Algumas funções pré-definidas de Javascript são:

· eval (string), onde string representa uma expressão a ser resolvida,

retornando um valor numérico.

Exemplo:

x = 4;

eval (“3 + x + 8”);

Resultado = 15

· parseInt(string, base), onde o primeiro parâmetro representa uma string a

ser convertida para a base especificada no segundo parâmetro.

Exemplo:

ParseInt(“45”, 10);

Resultado = número 45 na base decimal

· isNaN recebe um argumento e determina se ele á ou não um número. Caso

ele seja um número, retorna o valor false. Se não for, retorna true.



Objetos


HIERARQUIA

O nível mais alto de objetos em Javascript consiste naqueles objetos que

pertencem a navigator (navegador). Diretamente abaixo deste nível, estão os

objetos window (janela). Cada janela tem uma árvore de níveis que se ramifica a

partir dela. Estas árvores consistem em location (localização), history (histórico) e

document (documento). A cada nível há outros objetos e abaixo da árvore de

documentos há outra ramificação. Neste nível, há três objetos array – forms

(formulários), anchor (âncoras) e links. A figura 1 mostra a hierarquia de objetos

de Javascript.

No browser, os objetos seguem a mesma estrutura hierárquica da página

HTML: de acordo com essa hierarquia, os descendentes dos objetos são

propriedades desses objetos.

Quando uma página é carregada no browser, ele cria um número de

objetos de acordo com o conteúdo da página. Os seguintes objetos são sempre

criados, independentemente do conteúdo da página: window, location, history e

document.

Localização Documento Histórico

Link

Navegador

Janela

Âncora Formulário

(text, textarea, passwd, checkbox,

radio, select, button, reset, submit)



A NATUREZA ORIENTADA A OBJETOS DE HTML

Javascript considera HTML uma linguagem orientada a objetos, na qual os

diversos tags HTML correspondem a diferentes tipos de objetos Javascript.

Exemplo:

<html>

<head><title>Minha pagina</title></head>

<body>

<form name=“formulario1”>

<input type=“button” name=“botao1”>

</form>

</body>

</html>

A partir do código acima, obtem-se os seguintes objetos Javascript:

- document.title : título da página

- document.formulario1 : formulário da página

- document.formulario1.botao1 : botão do formulário

Este é apenas um exemplo dos objetos que Javascript cria automaticamente

de HTML. Observe que quase todo elemento HTML pode ser usado como um

objeto. Além disso, é possível ler e atribuir valores a estes objetos

dinamicamente.

Tenha em mente que à medida em que se estrutura uma página, também está

se definindo objetos e seus valores para Javascript. As próximas seções

apresentam detalhadamente o conjunto de objetos da linguagem Javascript.


OBJETO NAVIGATOR

Este objeto dá informações sobre o navegador. Ele apresenta as seguintes

propriedades: appName, appVersion, appCodeName, userAgent.

· Propriedade appName: retorna o nome do browser do usuário.

Exemplo: navigator.appName = Netscape

· Propriedade appVersion: retorna a versão do browser e a versão do sistema

operacional em que ele está rodando. [ formato: número da versão

(plataforma; país) ]

Exemplo: navigator.appVersion = 2.0 (Win95; I)

· Propriedade appCodeName: retorna o nome do código de desenvolvimento

interno do desenvolvedor de um browser específico.

Exemplo: navigator.appCodeName = Mozilla

· Propriedade userAgent: usada em cabeçalhos HTTP para fins de identificação,

é a combinação das propriedades appCodeName e appVersion. Servidores Web

usam esta informação para identificar os recursos que o navegador dispõe.

Exemplo: navigator.userAgent=Mozilla/2.0 (Win95; I)


OBJETO LOCATION

Este objeto é utilizado para identificar o documento corrente. Ele consiste

em uma URL completa no formato protocolo//servidor:porta/caminho seguidos de

?search ou #hash.

Suas propriedades são: protocol, hostname, port, pathname, search, hash. Cada

uma de suas propriedades representa uma parte da URL total.

· Propriedade protocol: retorna o protocolo de transporte do documento.

Exemplo: location.protocol = http:

· Propriedade hostname: identifica o nome do computador hospedeiro.

· Propriedade port: especifica a porta para o endereço. Esta informação é

utilizada apenas se uma porta não-padrão estiver sendo usada.

· Propriedade pathname: define o caminho e o nome do arquivo.

· Propriedade search: retorna quaisquer comandos de consulta que possam

estar embutidos na URL corrente. Valores de search são separados do resto da

URL por um sinal de interrogação (“?”).

Exemplo: location.search = nome=Joao

· Propriedade hash: retorna quaisquer âncoras que possam ter sido passadas na

URL. Valores de hash são separados do resto da URL por um sinal de

cerquilha (“#”).

Exemplo: location.hash = capitulo1


OBJETO CHECKBOX

Utilizado na construção de caixas de verificação. Suas propriedades são:

name, value, checked, defaultChecked.

· Propriedade name: especifica o nome da caixa.

· Propriedade value: especifica o valor da caixa.

Exemplo:

nomeForm.nomeCheckbox.value = “1”

· Propriedade checked: valor booleano que especifica o estado de seleção da

caixa (selecionada ou não-selecionada).

Exemplo:

if ( nomeForm.nomeCheckbox.checked == true ) {

funcao();

}

· Propriedade defaultChecked: valor booleano que especifica o estado default de

seleção da caixa.


OBJETO RADIO

Corresponde a um array de botões, onde todos os botões compartilham a

mesma propriedade name. Suas propriedades são: name, checked, defaultChecked,

length.

· Propriedade name: especifica o nome do objeto.

· Propriedade checked e defaultChecked: funcionamento idêntico ao definido em

checkbox.

· Propriedade length: especifica o comprimento do array.


OBJETO HIDDEN

Utilizado para enviar informações quando o formulário é submetido (este

objeto não aparece no formulário). Suas propriedades são: name, value.

· Propriedade name: especifica o nome do objeto.

· Propriedade value: especifica a informação que está sendo passada.


OBJETO TEXT

Utilizado para entrada/saída de dados. Suas propriedades são: name,

value, defaultValue.

· Propriedade name: especifica o nome do objeto.

· Propriedade value: especifica o valor do objeto.

· Propriedade defaultValue: especifica o valor default do objeto.


OBJETO RESET

Utilizado para limpar dados de um formulário. Suas propriedades são:

name, value.

· Propriedade name: especifica o nome do botão.

· Propriedade value: especifica o título colocado na face do botão.

Exemplo: document.form.botao.value=“novo titulo”


OBJETO SUBMIT

Utilizado para interfacear Javascript e outros scripts/programas. Suas

propriedades são: name, value.

· Propriedade name: especifica o nome do botão.

· Propriedade value: especifica o título colocado na face do botão.


OBJETO BUTTON

Utilizado na construção de interfaces. Suas propriedades são: name, value.

· Propriedade name: especifica o nome do botão.

· Propriedade value: especifica o título colocado na face do botão.


OBJETO TEXTAREA

Utilizado para entrada/saída de dados. Suas propriedades são: name,

value, defaultValue.

· Propriedade name: especifica o nome do objeto.

· Propriedade value: especifica o valor do objeto.

· Propriedade defaultValue: especifica o valor default do objeto.


OBJETO SELECT

Utilizado para construir caixas de seleção. Suas propriedades são: name,

options, length.

· Propriedade name: especifica o nome do objeto.

· Propriedade options: array que contém uma entrada para cada opção de uma

caixa de seleção.

· Propriedade length: especifica o comprimento do array de opções.

O exemplo a seguir identifica que opções foram selecionadas na caixa de

seleção.

Exemplo:

function listSelected(obj) {

for (i=0; i < obj.length; i++) {

document.write(“ “ + obj.options[i].name + “ “);

if (!obj.options[i].selected) {

document.write(“não está selecionada<BR>”);

}

else {

document.write(“está selecionada<BR>”);

}



Objetos do CORE Javascript

Os objetos do CORE Javascript são os objetos instrínsecos da linguagem,

isto é existem tanto no cliente (navegador), quanto no servidor Web.

Os objetos do Client-Side Javascript e do Server-Side Javascript somente

funcionam, respectivamente, em programas escritos para o navegador e para o

servidor Web.


OBJETO ARRAY

É possível criar um vetor através do objeto Array, pré-definido no

Javascript.

nome_do_array = new Array(10)

Para inserir e consultar elementos de um array, deve-se utilizar a seguinte

sintaxe: nome_do_array[x]

A variável x representa o índice de um elemento. O primeiro elemento é o

de número 0.


OBJETO DATE

O objeto Date lhe ajuda a manipular datas. Para criar um objeto do tipo

Date, deve-se utilizar a seguinte sintaxe:

nome_do_objeto = new Date(parâmetros)

Se não for indicado nenhum parâmetro, será criado um objeto com a data

e a hora atual do sistema. É possível passar uma string representando uma data e

hora como parâmetro:

x = new Date(“October 01, 2001 08:00:00”)

Caso sejam omitidos hora, minuto e segundo, o valor padrão será 0. Outra

forma de indicar data e hora é através de uma série de parâmetros numéricos,

representando o ano, mês, dia, hora, minutos e segundos.

A função Date( ) retorna a data atual.


OBJETO STRING

Em Javascript, toda string é um objeto, e, portanto, tem métodos e

propriedades associadas.

· length (propriedade): retorna o comprimento de um string.

Sintaxe: string.length

· indexOf( ) (método): retorna a posição da primeira ocorrência do caracter

procurado dentro de um string específico. As posições dos caracteres que

compõem um string variam entre "0" e "comprimento do string - 1" (length

- 1). Se o caracter procurado não for encontrado em nenhuma posição, o

método retorna "-1".

Sintaxe: string.indexOf(caracter_procurado,

posição_inicial_de_busca)

· charAt( ) (método): retorna o caracter encontrado na posição indicada.

Sintaxe: string.charAt(posição)

· toUpperCase( ) (método): traduz todo caracter dentro de uma string para

letra maiúscula.

Sintaxe: string.toUpperCase()

· toLowerCase( ) (método): traduz todo caracter dentro de uma string para

letra minúscula.

Sintaxe: string.toLowerCase()

· substring( ) (método): retorna uma sequência de caracteres de uma string

maior.

Sintaxe: string.substring(índiceA, índiceB)

onde índiceA e índiceB são ambos valores numéricos entre 0 e a

propriedade de string length.


OBJETO WINDOW

O objeto window representa a janela do navegador ou um frame. É criado

um objeto window sempre que o navegador encontra uma tag <BODY> ou

<FRAMESET>. Também são criados objetos para cada frame definido.

Propriedades mais utilizadas:

· defaultStatus: a mensagem que será exibida quando não tiver nenhuma

outra na status bar do navegador. Cuidado para não confundir com a

propriedade status, que reflete umas mensagens transitórias, adequadas para

um certo momento ou ação do usuário;

· Height: esta propriedade contém a altura, em pixels, da janela do

navegador;

· Width: semelhante à propriedade anterior, porém trabalha com a largura;

· name: representa o nome da janela;

· status: especifica a mensagem a ser exibida na status bar do navegador. É

muito útil para comunicar ao usuário pequenas mensagens.

Métodos mais utilizados:

· alert( ): exibe uma mensagem para o usuário. A string com a mensagem

deve ser passada para o método como parâmetro;

· back( ): é equivalente a apertar o botão back do navegador. Ou seja, volta

atrás na última navegação feita pelo usuário;

· forward( ): tem o mesmo efeito do botão forward do navegador. Ou seja,

se o usuário tiver apertado o botão back para voltar à última página visitada,

o forward avança novamente para a página mais recente;

· open( ): abre uma nova janela. O método recebe como parâmetros uma

URL (o endereço da página que vai ficar na nova janela), o nome da janela e

uma string com suas carcterísticas;

· close( ): fecha a janela especificada. O Javascript somente pode fechar

automaticamente janelas abertas por ele. Caso contrário, aparece uma caixa

de confirmação para o usuário;

· confirm( ): exibe uma caixa de mensagem para o usuário com duas

opções: OK e Cancel. Caso o usuário pressione OK, o método retorna true.

Caso contrário, false. Ele recebe como parâmetro uma string com a

mensagem a ser exibida para o usuário;

· prompt( ): exibe uma caixa de mensagem e campo para o usuário entrar

com uma string. O método retorna a string digitada pelo usuário. São aceitos

dois parâmetros. O primeiro é uma string com a mensagem a ser exibida e o

segundo é o valor padrão da string a ser digitada pelo usuário.

Exemplo:

<HTML>

<HEAD>

<TITLE>Exemplo</TITLE>

</HEAD>

<BODY>

<SCRIPT>

x = prompt("Qual a sua idade?", "25");

janela = window.open('','',

'innerHeight=100,innerWidth=150,resizable=yes');

janela.document.write("<BR> <B> <CENTER>");

janela.document.write("Você tem " + x + " anos!");

janela.document.write("</CENTER> </B>");</SCRIPT>

</BODY>

</HTML>



Bom é isso espero ter ajudado... qualquer dúvida comente...


86 Comentários:

Anônimo disse...

não sei exatamento pra que serve esse lance todo que vc. está falando, mas, valeu a dica

Jean Bitencourt disse...

hehe... Javavascript é uma linguagem de scripts q associado com o Html (outa linguagem de programação) formam as páginas da web... assim como o seu blog por exemplo hehe...
Espero ter ajudado...

Inez disse...

Muito bom esse post, pelo menos pra mim que estou iniciando agora é bom aprender tudo isso.

Unknown disse...

legal...sempre e bom saber coisas novas...

Tainã disse...

desculpa encher teu saco,mas eu ñ sei nem botar link no Blogspot ¬¬,e me parece q eu ñ posso usar HTML direto no texto,aí complica né?
como faz pra botar link no Blogspot?responde lá no meu blog vlw

Jean Bitencourt disse...

Pode inserir links sim... la quando esta escrevendo as postagens selecione o texto e clique no botão inserir links das ferramentas (como no word) e digita o link... ou nos gadgets é só digitar <a href="http:// aki vai a url">Aki vai o texto do link</a>
Espero te ajudado flw!

cesar augusto disse...

Aonde eu faço toda a programação, alem do bloco de notas?

Jean Bitencourt disse...

Pode fazer com editores de html... eu recomendo o dream weaver que na minha opinião é o melhor de todos.. pode baixar ele aki msm pesquisa lá... Abraços!

Anônimo disse...

Oi olha gostaria de saber s poderiam ajudar nste questao. Como guardar numeros recebidos do teclado para um vector?

Anônimo disse...

Have you ever thought about writing an e-book
or guest authoring on other blogs? I have a blog based on the same subjects you discuss
and would love to have you share some stories/information. I know my audience would value your work.
If you are even remotely interested, feel free to shoot
me an e mail.

Review my web-site :: art museums

Anônimo disse...

If you are going for best contents like me, simply go to see this website every
day for the reason that it presents feature contents, thanks

Take a look at my web blog: online dating articles

Anônimo disse...

Hello Dear, are you actually visiting this web page daily, if so afterward
you will definitely get good experience.

Feel free to visit my blog post; colleges universities

Anônimo disse...

I read this piece of writing fully about the resemblance of
hottest and preceding technologies, it's amazing article.

Here is my web blog ... froxh.Com

Anônimo disse...

To start with I would like to express great weblog!

I had an instant question which I’d like to ask unless you mind.
I was curious to learn the way you center your self and clear your thinking just before writing.

I've had a difficult time clearing my thoughts in getting my ideas out there. I really do get pleasure from writing nonetheless it just seems like the first 10 to quarter-hour are wasted just trying to figure out how to begin. Any some ideas or recommendations? Enjoy it!

my web site ... newswire pr

Anônimo disse...

It is perfect time to make some plans for the future and
it's time to be happy. I have read this post and if I could I want to suggest you few interesting things or tips. Maybe you can write next articles referring to this article. I desire to read more things about it!

Also visit my web blog :: public relations

Anônimo disse...

Hello! This is my first comment here so I just wanted to give a quick shout out and
say I truly enjoy reading through your posts.
Can you recommend any other blogs/websites/forums that
deal with the same subjects? Thanks a lot!

my page - mominface.com

Anônimo disse...

What's up, for all time i used to check blog posts here in the early hours in the daylight, because i like to find out more and more.

Here is my site :: communication article

Anônimo disse...

Hello! I recently wished to ask if you ever have any
difficulties with hackers?

Feel free to visit my web page - environment news

Anônimo disse...

Hi there! Can you use Twitter? I’d want to follow you if that might be ok.
I’m absolutely enjoying your website and look forward to new
updates.

my web-site ... entertainment News

Anônimo disse...

We absolutely love your blog and find the majority of your post's to be what precisely I'm looking
for. can you offer guest writers to write content to suit your needs?

I wouldn't mind creating a post or elaborating on a number of the subjects you write with regards to here. Again, awesome web site!

Take a look at my weblog - Press Release News

Anônimo disse...

Plz reply as I’m trying to design my very own blog and wish to know where u got this from.
thanks

Here is my website - renewable energy news

Anônimo disse...

Hi there, just became alert to your blog through Google, and found that it's truly informative. I'm going to watch
out for brussels. I will appreciate if you continue this in
future. A lot of people will be benefited from your writing.
Cheers!

My web-site - free dating Website

Anônimo disse...

Wow, this article is pleasant, my younger sister is analyzing these kinds
of things, thus I am going to tell her.

Here is my web site - art competition

Anônimo disse...

It's really very difficult in this active life to listen news on Television, so I simply use internet for that reason, and take the latest news.

Visit my page: business Management articles

Anônimo disse...

My spouse and I stumbled over here different page and thought
I might check things out. I like what I see so i am just following you.
Look forward to finding out about your web page again.


Here is my homepage - international business article

Anônimo disse...

When some one searches for his essential thing, so he/she wants to be
available that in detail, therefore that thing is maintained over
here.

Also visit my weblog ... public relations

Anônimo disse...

Hi there, thе whole thing iѕ gоing sounԁ here and оfcοurse eveгу one iѕ
shаring datа, that's truly fine, keep up writing.

my site - reputation management

Anônimo disse...

Are you experiencing a spam problem on this site; I also am a blogger,
and I was curious about your position; we've created some nice techniques and we have been looking to trade strategies with others, please shoot me a message if interested.

Also visit my weblog ... http://twooz.info/index.php?do=/profile-13131/info/

Anônimo disse...

Oh my goodness! Impressive article dude! Thank you so much, However I am having issues with your RSS.
I don't understand why I can't join it. Is there anybody else having similar RSS issues?
Anyone who knows the solution can you kindly respond?
Thanx!!

Here is my homepage ... public relations

Anônimo disse...

Hi I am so happy I found your website, I really found you by mistake, while I was looking on Askjeeve for something else, Nonetheless I am here now and would just like to
say thanks for a fantastic post and a all round interesting blog (I also love the theme/design), I don't have time to read it all at the moment but I have saved it and also added in your RSS feeds, so when I have time I will be back to read a great deal more, Please do keep up the great job.

Visit my web site - financial business news

Anônimo disse...

Hey! This post could not be written any better!
Reading this post reminds me of my old room mate! He always kept talking about this.
I will forward this page to him. Pretty sure he will have a good read.

Thanks for sharing!

My web site classic car

Anônimo disse...

Good post. I learn something totally new and challenging on
blogs I stumbleupon everyday. It's always useful to read through content from other writers and use something from their web sites.

My blog post: book publishing

Anônimo disse...

Hello! This really is kind off topic but I need some advice from an established
web log.

Also visit my web-site business pr

Anônimo disse...

Hiya! Quick question that's entirely off topic. Do you know how to make your site mobile friendly? My site looks weird when viewing from my iphone. I'm trying to find
a template or plugin that might be able to resolve this problem.

If you have any recommendations, please share. With thanks!


Look into my website: agency pr

Anônimo disse...

Hello my family member! I want to say that this post is amazing, great written and include almost all significant infos.

I'd like to peer more posts like this .

My weblog Www.Wallbets.com

Anônimo disse...

It's very effortless to find out any topic on web as compared to books, as I found this paragraph at this website.

Also visit my web-site - educate online

Anônimo disse...

Greetings I am so delighted I found your website, I really found
you by error, while I was researching on Digg for something else, Anyhow I am here
now and would just like to say thanks for a remarkable post and a
all round entertaining blog (I also love the theme/design),
I don't have time to browse it all at the moment but I have bookmarked it and also added your RSS feeds, so when I have time I will be back to read much more, Please do keep up the superb work.

Feel free to surf to my blog post ... education college university

Anônimo disse...

Terrific article! That is the type of info that are meant to
be shared around the net. Shame on Google for now not positioning this publish higher!
Come on over and talk over with my site . Thanks =)

Review my web page ... educational articles

Anônimo disse...

Heya i am for the primary time here. I came across this board and
I to find It truly useful & it helped me out a lot. I am hoping to give something again and
aid others such as you helped me.

Here is my website; education university

Anônimo disse...

Hello, I wish for to subscribe for this web site
to take most recent updates, thus where can i do it please help.


Look into my weblog ... Education articles

Anônimo disse...

Thanks for sharing your info. I really appreciate your efforts and I am waiting for your further post thank you once again.


Visit my homepage Electrical articles

Anônimo disse...

Hey great website! Does writing a blog similar to this demand a large amount of work?
I've without any expertise in programming but I was hoping to begin my very own blog soon. Anyway, if you have any a few ideas or approaches for new weblog owners please share. I understand this is off topic however I merely needed to ask. Thanks a whole lot!

My homepage :: pr news

Anônimo disse...

I enjoy what you guys tend to be up too. This kind of clever
work and coverage! Keep up the amazing works guys
I've incorporated you guys to my blogroll.

Here is my website: lifestyle

Anônimo disse...

Pretty! This has been a really wonderful post. Thanks for providing this info.


my page: Business News

Anônimo disse...

I think that what you published was very reasonable. But,
think about this, suppose you typed a catchier title?
I ain't suggesting your information is not solid, however suppose you added something that makes people desire more? I mean "Tutorial - Javascript" is a little plain. You ought to peek at Yahoo's home page and note how
they write article titles to get viewers to click. You
might add a video or a picture or two to get readers excited about everything've got to say. In my opinion, it might bring your posts a little bit more interesting.

my web-site; twooz.info

Anônimo disse...

These are truly fantastic ideas in about blogging. You have touched some good points here.
Any way keep up wrinting.

Look into my blog post; dating articles

Anônimo disse...

Keep on writing, great job!

Look into my website: family News

Anônimo disse...

Yes! Finally something about viking embroidery machine.


My website manufacturing articles

Anônimo disse...

Howdy! I'm at work surfing around your blog from my new iphone! Just wanted to say I love reading your blog and look forward to all your posts! Keep up the outstanding work!

Feel free to surf to my weblog: real estate market

Anônimo disse...

My brother suggested I may like this web site. He was once
entirely right. This submit actually made my day. You can not believe simply how so much time
I had spent for this information! Thank you!



Also visit my blog post :: travel pr

Anônimo disse...

It's not my first time to go to see this web page, i am browsing this site dailly and get fastidious information from here every day.

Also visit my site; http://besttourtravels.com

Anônimo disse...

This is really interesting, You're a very skilled blogger. I've joined your feed and look forward to seeking more of your wonderful post.
Also, I have shared your website in my social networks!


Have a look at my weblog food articles news

Anônimo disse...

Howdy would you mind letting me know which webhost you're using? I've loaded your
blog in 3 different web browsers and I must say this blog loads a lot faster then most.

Can you suggest a good hosting provider at a fair price?

Thanks, I appreciate it!

my web page ... 4lifevideos.com

Anônimo disse...

It's very trouble-free to find out any matter on net as compared to textbooks, as I found this paragraph at this web site.

Also visit my site :: Environmental Issues

Anônimo disse...

It's going to be finish of mine day, except before finish I am reading this fantastic article to improve my knowledge.

Here is my webpage: Misocialnetwork.com

Anônimo disse...

Fabulous, what a website it is! This website presents valuable data to us, keep it up.


my site: http://www.bostoncrab.com/CornellSa

Anônimo disse...

I'd like to thank you for the efforts you have put in penning this website. I'm hoping to check out the same high-grade blog posts from you later
on as well. In truth, your creative writing
abilities has inspired me to get my own, personal blog now ;)

my web-site - entertainment news today

Anônimo disse...

This paragraph presents clear idea designed
for the new viewers of blogging, that really how to do running a blog.



My web-site: manufacturing engineering

Anônimo disse...

Hi just desired to provide you with a quick heads up.

The text in your post appear to be running off the screen in Opera.
I’m unsure if this is a format issue or something related to browser compatibility but I thought I’d post
to tell you. The style look great though! Hope you get
the problem fixed soon. Thanks

Feel free to surf to my webpage - http://www.kid-korner.com/groups/exactly-how-violence-within-entertainment-influences-our-own-society

Anônimo disse...

I have been browsing on-line greater than three hours as of late, but I never found any
attention-grabbing article like yours. It is pretty value sufficient for me.
In my opinion, if all website owners and bloggers made just right content material as you probably did, the net will probably be a
lot more helpful than ever before.

Also visit my page latest energy news

Anônimo disse...

This blog was... how do you say it? Relevant!
! Finally I have found something which helped
me. Thank you!

Here is my blog post :: givemeadate.net

Anônimo disse...

Incredible quest there. What occurred after? Good luck!


Also visit my webpage wind energy facts

Anônimo disse...

This text is invaluable. When can I find out more?

Visit my web page ... www.clickadssocial.com

Anônimo disse...

Magnificent beat ! I would like to apprentice
whilst you amend your site, how could i subscribe for a weblog website?
The account aided me a applicable deal. I have been a
little bit familiar of this your broadcast offered shiny clear idea

Feel free to visit my homepage: fowop.com

Anônimo disse...

Hey there just desired to offer you a quick heads
up. The writing in your post be seemingly running off the screen in Opera.
I’m unsure if it is a format issue or something regarding web browser compatibility
but I thought I’d post to tell you. The look look great though!

Hope you obtain the matter fixed soon. Thanks

Have a look at my webpage colleges universities

Anônimo disse...

Tremendous things here. I'm very satisfied to see your article. Thanks a lot and I am looking ahead to contact you. Will you kindly drop me a mail?

Here is my website :: http://www.melbournethai.com/

Anônimo disse...

I have read so many content about the blogger lovers but this paragraph is actually a nice paragraph, keep
it up.

my website home articles

Anônimo disse...

Greetings! I know this is kinda off topic but I was wondering in the event that you knew where I could find a captcha plugin for my comment form?
I’m utilizing the same weblog platform as yours and I’m having trouble finding one?
Thanks a lot!

Feel free to surf to my web-site: Http://Chillzone.Gruppoedilcentro.Net/Index.Php?Do=/Profile-44176/Info

Anônimo disse...

Everyone loves it when individuals get together and share views.
Great website, keep it up!

My blog; story book

Anônimo disse...

I love what you guys are usually up too. This sort of clever work and reporting!
Keep up the great works guys I've incorporated you guys to my own blogroll.

My web site Government articles

Anônimo disse...

What's Taking place i'm new to this, I stumbled upon this I have found It positively
helpful and it has helped me out loads. I am hoping
to give a contribution & aid different customers like
its aided me. Good job.

Also visit my web blog business finance news

Anônimo disse...

My relatives always say that I am killing my time here at web,
except I know I am getting knowledge daily by reading such nice content.



my webpage - free energy news

Anônimo disse...

Great post but I was wondering in the event that you could write a litte more with this topic?
I’d be very grateful in the event that you could elaborate more.
Kudos!

Feel free to visit my web-site - government articles

Anônimo disse...

Hi there! I realize this is somewhat off-topic however I needed to ask.
Does building a well-established blog like yours require a large amount of work?
I'm brand new to operating a blog however I do write in my journal everyday. I'd
like to start a blog so I will be able to share my experience and
views online. Please let me know if you have any kind of recommendations or tips for brand new aspiring blog owners.
Thankyou!

Feel free to visit my web page press releases

Anônimo disse...

I really like your blog.. very nice colors & theme.
Did you make this website yourself or did you hire
someone to do it for you? Plz respond as I'm looking to create my own blog and would like to know where u got this from. cheers

Review my blog ... education college

Anônimo disse...

Wow that was odd. I just wrote an really long comment but after I clicked submit my comment didn't show up. Grrrr... well I'm not writing all that over
again. Regardless, just wanted to say fantastic blog!


Also visit my site - Fashion trends

Anônimo disse...

I every time used to study article in news papers but now
as I am a user of web thus from now I am using net for posts, thanks to web.



Feel free to surf to my website; www.annacros.com

Anônimo disse...

I have read so many articles on the topic of the blogger lovers
however this piece of writing is actually a nice post, keep it up.


Also visit my blog post ... real estate services

Anônimo disse...

Thank you for the good writeup. It actually was once a amusement account it.

Look complex to far introduced agreeable
from you! However, how can we keep up a correspondence?

Also visit my web site; Members.F7Social.Com

Anônimo disse...

It is appropriate time to make a few plans for the future
and it's time to be happy. I've learn this put up and if I may I
desire to counsel you some attention-grabbing things or tips.
Perhaps you can write subsequent articles regarding this article.
I wish to read more things approximately it!

Feel free to surf to my webpage: college Or University

Anônimo disse...

Wow, fantastic blog format! How lengthy have you been blogging for?
you make running a blog glance easy. The total look of
your web site is magnificent, let alone the content!

Look into my site :: wiki.unhnu.com

Anônimo disse...

Hey there! I know this is kind of off topic but I was wondering if
you knew where I could get a captcha plugin for my comment
form? I'm using the same blog platform as yours and I'm having difficulty
finding one? Thanks a lot!

Here is my website :: Makeup Sale

Anônimo disse...

When I originally commented I clicked the "Notify me when new comments are added" checkbox and now each time a
comment is added I get several emails with the same comment.
Is there any way you can remove me from that service?
Bless you!

Also visit my blog; Long Hair Wigs

Anônimo disse...

Please let me know if you're looking for a writer for your weblog. You have some really good posts and I think I would be a good asset. If you ever want to take some of the load off, I'd absolutely love to
write some content for your blog in exchange for a link back to mine.
Please blast me an email if interested. Kudos!

My website - Hair Stylers

Anônimo disse...

Hi! Do you know if they make any plugins to protect against hackers?

I'm kinda paranoid about losing everything I've worked
hard on. Any recommendations?

Review my webpage: Rustic Log Furniture ()

Anônimo disse...

Hello there! This post could not be written any better!

Looking at this article reminds me of my previous roommate!
He constantly kept preaching about this. I will forward this post
to him. Pretty sure he's going to have a good read. Thank you for sharing!

Feel free to surf to my site; pomysł na firmę

Postar um comentário

Por favor deixe seu comentário:

Traduzir / Translate