Escolar Documentos
Profissional Documentos
Cultura Documentos
JavaScript
Surgido em 1995
Extensão do .js
arquivo:
Índice
[esconder]
1História
2Características
o 2.1Imperativa e Estruturada
o 2.2Dinâmica
2.2.1Tipagem dinâmica
2.2.2Baseada em objetos
2.2.3Avaliação em tempo de execução
o 2.3Funcional
2.3.1Funções de primeira classe
2.3.2Funções aninhadas
2.3.3Fechamentos
o 2.4Baseada em Protótipos
2.4.1Protótipos
2.4.2Funções e métodos
3Uso em páginas Web
o 3.1Exemplo
o 3.2Compatibilidade
o 3.3Acessibilidade
o 3.4Segurança
3.4.1Vulnerabilidades inter-sites
4Exemplos de scripts
o 4.1Scripts Simples
o 4.2Comentários
o 4.3Funções
o 4.4Hierarquia do objeto
o 4.5Números Perfeitos
5Versão
6Bibliografia
7Referências
8Ver também
9Ligações externas
JavaScript é uma linguagem de programação interpretada.[2] Foi originalmente
implementada como parte dos navegadores web para que scriptspudessem ser
executados do lado do cliente e interagissem com o usuário sem a necessidade deste
script passar pelo servidor, controlando o navegador, realizando comunicação assíncrona
e alterando o conteúdo do documento exibido.
É atualmente a principal linguagem para programação client-side em navegadores web.
Começa também a ser bastante utilizada do lado do servidor através de ambientes como
o node.js. Foi concebida para ser uma linguagem script com orientação a objetos baseada
em protótipos, tipagem fraca e dinâmica e funções de primeira classe. Possui suporte
à programação funcional e apresenta recursos como fechamentos e funções de alta ordem
comumente indisponíveis em linguagens populares como Java e C++. É a linguagem de
programação mais utilizada do mundo.[carece de fontes]
É baseada em ECMAScript padronizada pela Ecma international nas
especificações ECMA-262[3] e ISO/IEC 16262.
abrir uma nova janela (dialog) com controle programático sobre seu tamanho, posição
e atributos;
validar valores de um formulário para garantir que são aceitáveis antes de serem
enviados ao servidor;
mudar imagens à medida que o mouse se movimenta sob elas.
Um recurso de interface útil basada em janela, é um tipo de janela secundária (“filha”) da
tela principal, ou janela principal, para solicitar ou exibir ao usuário determinadas
informações complementares, semelhante a “caixa de diálogo” (dialog).
Existem dois tipos de associação entre uma janela de diálogo e a janela principal à qual
está associada: "forma modal" (showModalDialog), quando a abertura da janela de diálogo
flexível sobreposta a janela principal sem a necessidade de recarregar a página principal
após o uso do modal, chamada de Lightbox, bloqueando a interação com janela principal a
esmaecendo/escurecendo à fundo até que o diálogo seja encerrado; ou "forma não
modal", em que pode haver interação concomitante nas duas janelas (principal e diálogo)
sem bloqueio da principal, O caso mais comum é do diálogo modal.[5][6]
Pelo fato do código JavaScript rodar localmente no navegador do usuário, e não em um
servidor remoto, o navegador pode responder a tais ações rapidamente, fazendo uma
aplicação mais responsiva. Além disso, o código JavaScript pode detectar ações de
usuário que o HTML sozinho não pode, tais como teclas pressionadas individualmente.
Aplicações como Gmail tomam vantagem disso: muito da lógica da interface do usuário é
escrita em JavaScript, e o JavaScript envia requisições de informação, tais como o
conteúdo de um correio eletrônico, para o servidor. A tendência mais ampla de
programação em Ajax explora de maneira similar este ponto forte. Uma JavaScript engine
(também conhecida como interpretador JavaScript ou uma implementação JavaScript)
interpreta código fonte JavaScript e o executa de forma adequada. A primeira
implementação JavaScript foi criada por Brendan Eich na Netscape Communications
Corporation, para o Navegador Netscape. A implementação, nomeada SpiderMonkey, é
implementada em C e vem sendo atualizada para conformar com a edição 3 do ECMA-
262. A implementação Rhino, criada primariamente por Norris Boyd (ex-empregado da
Netscape; agora no Google) é uma implementação de JavaScript em Java. Rhino,
como SpiderMonkey, é conformante com a terceira edição do ECMA-262.
Por ser o JavaScript a única linguagem que a maioria dos navegadores populares
suportam, tem se tornado uma linguagem alvo para muitos frameworks em outras
linguagens, a despeito do fato de não ter sido planejado para tal. Não obstante as
limitações de desempenho inerente à sua natureza dinâmica, a crescente velocidade das
implementações JavaScript tem feito da mesma uma prática linguagem intermediária.
Exemplo[editar | editar código-fonte]
Um exemplo minimalista de uma página conforme os padrões web (utilizando a
sintaxe HTML5) que contém JavaScript pode ser representado pelo seguinte código:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8" />
<title>Wikipédia</title>
<script>
window.onload = function () {
document.getElementById("hello").addEventListener("click", function ()
{
alert("Bem-vindo à Wikipédia!");
}, false);
};
</script>
</head>
<body>
<noscript>Seu navegador não suporta JavaScript ou ele está
desabilitado.</noscript>
<button id="hello">Dizer "Olá"</button>
</body>
</html>
No script acima, vimos que existe uma tag chamada <noscript>, ela está neste código
HTML porque é um meio de acessibilidade com o cliente, fazendo com que seu texto seja
renderizado pelo navegador quando o JavaScript estiver desativado.
Compatibilidade[editar | editar código-fonte]
Já que JavaScript roda em ambientes variáveis, uma parte importante do teste e
depuração de seu código consiste na verificação de compatibilidade entre navegadores.
As interfaces DOM para a manipulação de páginas web não são parte do padrão ECMA,
ou do próprio JavaScript. Oficialmente, são definidas por um esforço de padronização
da W3C; na prática, implementações de navegadores diferem do padrão de uma para as
outras, e nem todos navegadores executam JavaScript.
Para lidar com essas diferenças, programadores JavaScript com frequência tentam
escrever códigos que conformam com o padrão comum a maioria dos navegadores; não
sendo possível isso, tentam escrever de maneira ad-hoc um código que verifique a
presença de certos recursos e que se comporte de maneira adequada caso tais recursos
não estejam disponíveis. Em alguns casos, dois navegadores podem ambos
implementarem uma funcionalidade com comportamentos diferentes, e programadores
podem achar prático detectar qual navegador está rodando e mudar o comportamento de
seus scripts para se adequar a isso. Programadores podem também usar bibliotecas ou
ferramentas que abstraem tais diferenças entre navegadores.
Além disso, scripts podem não funcionar para alguns usuários. Por exemplo, um usuário
pode:
/* Já este comentário
é mais longo e utiliza
várias linhas */
return/*Valor retornado*/;
}
//Construtor
//Construtor
function Exemplo() {
this.propriedade = 'Isso é uma propriedade.',
this.metodo = function() {
return 'Isso é um metódo';
}
}
var objeto = new Exemplo(); //Instância do construtor "Exemplo"
function perfectNumbers(max) {
var i, j, k,
perfects = [];
if (k === i) {
perfects.push(k);
}
}
Março de
1.0 2.0 3.0
1996
Agosto de
1.1 3.0
1996
Junho de
1.2 4.0-4.05
1997
ECMA-262
Outubro
1.3 1st edition / ECMA- 4.06-4.7x 4.0
de 1998
262 2nd edition
Netscape
1.4
Server
5.5
(JScript
5.5),
6
6.0,
(JScript 3.0,
7.0,
Novembr ECMA-262 5.6), 3.1,
1.5 6.0 1.0 8.0, 1.0
o de 2000 3rd edition 7 3.2,
9.0,
(JScript 4.0
10.0
5.7),
8
(JScript
5.8)
1.6 + Geradores
Outubro
1.7 Pythonic + Iteradores 2.0
de 2006
+ let
1.7 + Expressões
Junho de
1.8 geradoras + Expressõ 3.0
2008
es de clausura.
1.8 + Native
1.8.1 JSON support + 3.5
Minor Updates
Dezembro
1.8.5 1.8.1 4
de 2010
+ ECMAScript 5
Compliance
Referências
1. Ir para cima↑ «New in JavaScript 1.8.5». mozilla.org. Consultado em 10 de agosto de 2010
2. Ir para cima↑ Flanagan, David; Ferguson, Paula (2002). JavaScript: The Definitive Guide 4th
ed. [S.l.]: O'Reilly & Associates. ISBN 0-596-00048-0
3. Ir para cima↑ «ECMAScript Language Specification» (PDF)
4. Ir para cima↑ «10 Programming Languages You Should Learn Right Now - IT Management -
News & Reviews - eWeek.com». www.eweek.com. Consultado em 14 de abril de 2012
5. Ir para cima↑ Márcio d'Ávila (8 de dezembro de 2006). «Janela modal na web». mhavila.
Consultado em 2 de fevereiro de 2017
6. Ir para cima↑ Alexandre Magno. (8 de dezembro de 2006). «Javascript para o Bootstrap».
Github. Consultado em 2 de fevereiro de 2017
7. Ir para cima↑ John Resig. «Versions of JavaScript». Ejohn.org. Consultado em 19 de maio
de 2009
v•e
Linguagens de programação
Esotéricas · Comparação · História · Programa Olá Mundo · Algo
Ada
Assembly (asm)
BASIC
C
C++
C#
Clojure
Crystal
Dart
Elixir
Erlang
F#
Fortran
Go
Haskell
Java
JavaScript (JS)
Julia
Kotlin
Lisp
Lua
Objective-C
OCaml
Pascal
Perl
PHP
Python
R
Ruby
Rust
Scala
Shell script
Smalltalk
Swift
TypeScript
Visual Basic .NET (VB.NET)
mais...
Categoria · Lista
Categorias:
JavaScript
Linguagens de script
Web
Linguagens de programação criadas em 1995