Semelhante ao Java, mas não é Java
Tem coisas que o Java não tem
E vice versa
JavaScript | Java |
|
|
|
|
|
|
Fonte: http://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/JavaScript_Overview#What_is_JavaScript.3F
Há muitas maneiras erradas de escrever código JavaScript
Desenvolvimento em JavaScript pode ser bottom-up ao invés de top-down
Criação do LiveScript
Semelhante ao Java, mas não é Java
Foi chamado de JavaScript no Netscape 2.0
Criação do JScript
Padronização da linguagem: ECMAScript
Avançado, para bons programadores
Onde pode ser executada
principalmente no navegador Web
também para automatizar programas
e para desenvolvimento em Geral
O que dá para fazer
Implementar comportamento em Páginas Web
Reescrever o código HTML de uma página depois de carregar a página
Validar formulários
Escrever cookies
Corrigir bugs do IE6 e 7
Implementar CSS3
Implementar HTML5
O que não dá para fazer no browser
Ler arquivos do Sistema Operacional
Executar outros programas
Ler o histórico do navegador
Configurar o upload de um arquivo
Fechar uma janela que não foi aberta pelo JavaScript
Fonte:
http://alex.dojotoolkit.org/2008/08/the-ecmajavascript-name-soup/
Versão JavaScript | Versão do Firefox / Navigator |
---|---|
JavaScript 1.0 | Navigator 2.0 |
JavaScript 1.1 | Navigator 3.0 |
JavaScript 1.2 | Navigator 4.0-4.05 |
JavaScript 1.3 | Navigator 4.06-4.7x |
JavaScript 1.4 | |
JavaScript 1.5 | Navigator 6.0 Mozilla (open source browser) |
JavaScript 1.6 | Firefox 1.5, other Mozilla 1.8-based products |
JavaScript 1.7 | Firefox 2, other Mozilla 1.8.1-based products |
JavaScript 1.8 | Firefox 3, other Gecko 1.9-based products |
Fonte: http://developer.mozilla.org/en/Core_JavaScript_1.5_Guide/About#What_you_should_already_know
Host Application | 1.0 | 2.0 | 3.0 | 4.0 | 5.0 | 5.1 | 5.5 | 5.6 | 5.8 |
---|---|---|---|---|---|---|---|---|---|
Microsoft Internet Explorer 3.0 | x |
|
|
|
|
|
|
| |
Microsoft Internet Information Server 3.0 |
| x |
|
|
|
|
|
| |
Microsoft Internet Explorer 4.0 |
|
| x |
|
|
|
|
| |
Microsoft Internet Information Server 4.0 |
|
| x |
|
|
|
|
| |
Microsoft Visual Studio 6.0 |
|
|
| x |
|
|
|
| |
Microsoft Internet Explorer 5.0 |
|
|
|
| x |
|
|
| |
Microsoft Internet Explorer 5.01 |
|
|
|
|
| x |
|
| |
Microsoft Windows 2000 |
|
|
|
|
| x |
|
| |
Microsoft Internet Explorer 5.5 |
|
|
|
|
|
| x |
| |
Microsoft Windows Millennium Edition |
|
|
|
|
|
| x |
| |
Microsoft Internet Explorer 6.0 |
|
|
|
|
|
|
| X | |
Microsoft Windows XP |
|
|
|
|
|
|
| x | |
Microsoft Internet Explorer 8.0 | x |
Fonte: http://msdn.microsoft.com/en-us/library/s4esdbwz(VS.85).aspx
JavaScript | JScript | ECMAScript |
---|---|---|
1.0 (Netscape 2.0, Março 1996) | 1.0 (IE 3.0 - primeiras versões, Agosto 1996) | |
1.1 (Netscape 3.0, Agosto 1996) | 2.0 (IE 3.0 - versões posteriorer, Janeiro 1997) | |
1.2 (Netscape 4.0-4.05, Junho 1997) | ||
1.3 (Netscape 4.06-4.7x, Outubro 1998) | 3.0 (IE 4.0, Oct 1997) | Edição 1 (Junho 1997) / Edição 2 (June 1998) |
1.4 (Apenas para Servidor Netscape) | 4.0 (Visual Studio 6, não tem versão do IE) | |
5.0 (IE 5.0, Março 1999) | ||
5.1 (IE 5.01) | ||
1.5 (Netscape 6.0, Nov 2000; depois no Mozilla) | 5.5 (IE 5.5, July 2000) | Edition 3 (December 1999) |
5.6 (IE 6.0, Outubro 2001) | ||
1.6 (Gecko 1.8, Firefox 1.5, Novembro 2005) |
Edição 3, com melhorias complementares: E4X, Array extras (e.g. Array.prototype.forEach ), Array and String generics (New in JavaScript 1.6)
| |
1.7 (Gecko 1.8.1, Firefox 2, October 2006) |
Edição 3 mais melhorias do 1.6 e generators no estilo do Python, array comprehensions ([a*a for (a in iter)] ), escopo de bloco com let , destructing assigments (var [a,b]=[1,2] ) (New in JavaScript 1.7)
| |
1.8 (Gecko 1.9, Firefox 3, June 2008) |
Edição 3 mais melhorias do 1.7, mais expression closures (function(x) x * x ), generator expressions (New in JavaScript 1.8)
| |
JScript .NET (ASP.NET; sem versão do IE) | ||
JavaScript 2.0 Cancelado! |
Fonte: http://en.wikipedia.org/wiki/ECMAScript#Version_correspondence
Versões mais seguras de se trabalhar
Código intrusivo
Código intrusivo
var a = function () { alert("Sou uma funcao!"); };
a();
São protótipos
var flipper = { cor:"azul", rodas:4 };
alert(flipper.cor);
alert(flipper.rodas);