Javascript

Atualizado em 25.6.2009

JavaScript é um recurso (nem todos os desenvolvedores web o considerem uma linguagem) baseado em scripts, usado para enriquecer a ação do usuário e acrescentar recursos dinâmicos à interface.

Desenvolvida pela Netscape para funcionar entre plataformas, atua embutida em programas como os browsers web e permite a conexão entre os elementos das páginas e o controle sobre eles.

JavaScript pode interagir com diversos componentes em HTML e CSS das páginas web para realizar mudanças em tempo real ou para responder a ações dos usuários

Apesar do nome, não tem relação com a linguagem Java, desenvolvida pela Sun MicroSystems.

Baseada em objetos, utiliza-os para o reconhecimento de suas estruturas de dados. Do mesmo modo que o mundo que nos cerca é composto de objetos, a Javascript reconhece unidades de informação ou unidades funcionais como objetos, sendo que cada uma delas tem propriedades que as identificam, como acontece com os objetos concretos.

É uma linguagem interpretada, as instruções não precisam ser compiladas para funcionar, pois são divididas em pequenos componentes, analisados um a um pelo browser de cada usuário. Diversos conjuntos de instruções se somam para gerar uma determinada funcionalidade.

As ações do usuário se efetivam através destas instruções, enviadas para o browser, os scripts. Na maioria dos casos, os scripts são executados na máquina do usuário, não exigem resposta do servidor. Exemplo

No entanto, a linguagem também roda através de scripts localizados em servidores web para gerar arquivos em HTML.

Pode-se criar com Javascript um texto animado na base da página, um rollover de botão, um relógio que atualiza a hora de quem acessa a página, calendários, menus, efeitos de fundo, jogos, entre outros recursos. Exemplo

Os scripts desenvolvidos em Javascript podem ficar localizados dentro do código HTML da página web, podem ser copiados e colados de uma página para outra e ter seu conteúdo e funcionalidade adaptados.

Uma linguagem, três versões

JavaScript: baseada na linguagem criada pela Netscape, foi aplicada pela primeira vez no Netscape 2.0. É a versão mais popular.
JScript: versão criada pela Microsoft para competir com a linguagem criada pela Netscape.
ECMAScript: Standard internacional criado em 1996 para a linguagem, que cobre todo o seu escopo.

Enquanto o Internet Explorer reconhece JScript e JavaScript, o Netscape só reconhece o segundo. Como as marcações são praticamente as mesmas, é mais fácil considerar que os scripts escritos em JavaScript rodam em todos os browsers.

O W3C publicou uma recomendação (DOM) segundo a qual Javascript vai continuar em uso em XHTML, pois é uma linguagem de uso praticamente universal, roda em qualquer plataforma e na maioria das versões de browsers, mesmo os mais antigos. A versão atual utilizada é a 1.5 (2005).

De qualquer forma, para garantir a correta interpretação dos scripts, os desenvolvedores precisam se adaptar ao uso de código compatível com os standards web.

Apesar do uso disseminado, seu uso não é tão disseminado quanto afirmam os colaboradores do W3C. Certa de 10% dos usuários (de acordo com thecounter.com - pesquisa em público internacional) não usam ou não habilitam o uso de Javascript em seus browsers.

Por isto, a interface não deve depender da habilitação deste recurso para funcionar JavaScript.

Muitos sites fornecem scripts e ensinam Javascript, como:

The Yahoo! User Interface (YUI) Library
JavascriptSource
ScriptSearch
Ten good practices for writing JavaScript in 2005
QuirksMode.com
JavaScript.com
JavaScriptKit.com
WebReference/JavaScript
JavaScript Source: JavaScripts, tutoriais, exemplos...
JavaScript Guide
Dojo Tookit


Assuntos relacionados
Ajax
Java
Acessibilidade
CSS

Referências (Recursos técnicos - para web sites)
JavaScript and accessibility. Pt.1 (WebReference)
The JavaScript diaries: Part 1 (WebReference)

Mais informação sobre o assunto (links externos)
Recomendação DOM do W3C sobre javascript
XHTML - Inclui uma declaração de tipo de documento (obrigatória): !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
Ten good practices for writing javascript in 2005, artigo de Bobby Van der Sluis

Avellar e Duarte no Twitter Avellar e Duarte no Facebook