JavaScript Developer

segunda-feira, setembro 11, 2006

Conceitos, Variáveis e Funções

Olá, bem vindo a esse blog. Esse é meu primeiro post nesse blog, comecarei dando noções básicas de Javascript. O objetivo desse blog eh passar informações desde o básico até o avançado sobre Javascript, o Javascript está sendo muito difundido na web e muitas pessoas não estão conseguindo acompanhar esse progresso devido a não ter a base do Javascript. Como eu disse antes, eu vou comecar as coisas do básico, mesmo que você ja saiba Javascript eu recomendaria que você desse uma lida nesses posts, porque as vezes umas coisas bestas passam despercebidas, mas essas besteiras podem fazer uma grande diferenca quando chega a hora da aplicação final.

Um pouco de história
O Javascript foi criado pela Netspace em 1995 e era chamado inicialmente de LiveScript, depois ele passou a ter o nome JavaScript. No Internet Explorer, o nome da linguagem é JScript, eles a chamam assim para dizer que não é a mesma coisa, e realmente não é, e devido a isso é que temos os problemas de incompatibilidade entre o script nos browsers, o JScript tem muitos recursos que não existem no JavaScript, mas como no mundo atual em 98% dos casos (isso tira apenas os casos onde fazemos um sistema apenas interno, onde temos certeza que só vão usar aquele browser, e mesmo assim não é recomendavel) nós temos que fazer scripts que rodem em qualquer browser.

Inicialmente o JavaScript era visto como uma "gambiarra" da web, que estava completamente fora de padrões. Essa visão tem mudado recentemente devido a difusão do AJAX (Asyncronous Javascript And XML), e não foi o JavaScript que mudou, e sim os programadores que comecaram a fazer seu uso de forma correta.

Chega de blablabla
Se você teve paciência para ler até aqui ótimo (mas nem vem, eu sei que teve gente que pulo os textos anteriores, mas tudo bem XD).

Vamos comecar entendendo o conceito de funções e variáveis em Javascript. A declaração de variáveis em JavaScript é algo muito simples, para os testes iniciais usaremos o seguinte padrão:

<html>
<head>
<title> JavaScript Dev </title>
</head>
<body>
<script type="text/javascript">
</script>
</body>
</html>


Como podem ver temos um HTML simples, para escrever JavaScript nós usamos a tag <script type="text/javascript"></script>, nossos scripts vão ficar dentro dessas tags. obs: os códigos a seguir devem ficar entre as tags <script>.

var a = 5;
var b = 10;
var c = a + b;

alert(c);


Isso foi uma simples declaração de variáveis, declaramos a variável a com o valor 5, depois declaramos a variável b com o valor 10 e finalmente a variável c que tem o valor da soma de a com b, então usamos a função alert() que abre uma caixa de texto com um valor (que no nosso caso vai exibir o valor da variável c).

Em JavaScript as variáveis não são tipadas, ou seja, a mesma variável pode ter um valor numérico, ou string, ou objeto ou qualquer tipo desejado, isso tem uma perda de desempenho, mas para casos de linguagens isso é mais benefício do que perda.

Vamos ver agora a declaração de funções:
function testeFuncao() {
alert('a função foi executada');
}

testeFuncao();


Declaramos a função testeFuncao() que simplesmente exibe uma caixa com uma mensagem, as funções podem retornar (ou não) um valor, nesse nosso primeiro exemplo ela não retorna nada, ela apenas executa (seria o caso de funções void em linguagens como C ou Java). Agora vamos ver uma função que retorna um valor:

function soma(a, b) {
return a + b;
}

var n1 = 5;
var n2 = 3;
var valor = soma(n1, n2);

alert(valor);


Agora temos algo um pouco mais complicado, como podem ver, dessa vez a função recebe 2 parâmetros, quando declaramos parâmetros para as funções, temos seus nomes, e eles devem ser passados na mesma ordem que foram declarados (ou seja, nosso n1 vai virar b e n2 vai virar b), oque a função faz é pegar esses 2 parâmetros e soma-los, retornando esse resultado. Logo após a declaração nós criamos as variaveis n1 e n2, depois mandamos a variável valor guardar o resultado da soma das duas (usando a nossa função somar), e finalmente mandamos exibir esse resultado.

Escopo de variáveis
Por ultimo vamos entender um pouco sobre escopo de variáveis. O escopo de uma variável serve para saber onde está aquela variável, pois podemos ter varias variáveis com o mesmo nome em escopos diferentes. Vamos entender melhor isso atravéz de um exemplo:

var minhaVariavel = 10;

function mostraGlobal() {
alert(minhaVariavel);
}

function mostraLocal() {
var minhaVariavel = 5;
alert(minhaVariavel);
}

function mexeGlobal() {

minhaVariavel += 3;
alert(minhaVariavel);
}

function mexeLocal() {

var minhaVariavel = 2;
minhaVariavel += 5;
alert(minhaVariavel);
}

mostraGlobal();
mostraLocal();
mostraGlobal();
mexeGlobal();
mexeLocal();
mexeGlobal();
mexeLocal();
mexeGlobal();
mexeLocal();


Temos agora várias funções, primeiro declaramos a variável global chamada minhaVariavel, vemos nas funções a parte interessante, se você chamar uma variável que não foi declarada dentro da função, ele vai buscar essa variável no escopo global (na verdade, o escopo global do javascript é o objeto window, ou seja, chamar uma variavel dessa forma seria a mesma coisa que escrever window.minhaVariavel, mas você não precisa entender isso agora, nos próximos artigos isso será melhor explicado), e caso não encontre no escopo global ele vai retonar uma valor undefined. Já se dentro da função nós declaramos var minhaVariavel ele vai criar uma nova variável com esse nome no escopo da função, com isso ele sempre vai mexer na variável local, e vai deixar a global de lado. Podem ver o seguinte, no script nós executamos primeiro a função que exibe a variável global, depois chamamos a função que mostra a local, como podem ver, na que mostra a variável local nos fazemos uma atribuição à variável, e depois mostramos a global novamente, para provar que ela não foi alterada. Nos outros testes nós mexemos algumas vezes na variável em diferentes escopos, e como podem ver a variável global sempre vai mudando, enquanto a local sempre é uma nova variável.

Por hoje isso é tudo. Tentei nesse artigo ensinar o básico sobre variáveis e funções, a parte de escopo pode ter ficado um pouco difícil de entender para algumas pessoas, mas não se preocupe, nos futuros artigos iremos entender melhor como funciona o escopo e ficará mais facil.

Quem já entende de JavaScript pode ter achado isso muito chato, mas futuramente entraremos em assuntos bem mais complexos do JavaScript, então aguardem os futuros artigos.

Em caso de dúvidas me mandem um e-mail no seguinte endereço: wilkerlucio@globo.com.

Grato a atenção de quem leu meu artigo, o segundo artigo vai aprofundar o estudo de funções.

2 Comments:

  • Este comentário foi removido por um administrador do blog.

    By Anonymous Anônimo, at 9:55 PM  

  • Olá,

    achei fantástica a iniciativa de criar um blog para dar instruções sobre javascript básico. Aliás, pretendo colocar algumas coisas que aprender no meu blog e colocar um link para o seu. Parabéns e continue assim!

    By Blogger Felipe Caparelli, at 5:34 PM  

Postar um comentário

<< Home