A maior rede de estudos do Brasil

Grátis
1075 pág.
JavaScript O Guia Definitivo [Portugues]

Pré-visualização | Página 1 de 50

Tradução:
João Eduardo Nóbrega Tortello
Revisão técnica:
Luciana Nedel
Doutora em Ciência da Computação pela
École Polytechnique Fédérale de Lausanne, Suíça
Professora adjunta do Instituto de Informática da UFRGS
2013
Reservados todos os direitos de publicação, em língua portuguesa, à
BOOKMAN EDITORA LTDA., uma empresa do GRUPO A EDUCAÇÃO S.A.
Av. Jerônimo de Ornelas, 670 – Santana
90040-340 – Porto Alegre – RS
Fone: (51) 3027-7000 Fax: (51) 3027-7070
É proibida a duplicação ou reprodução deste volume, no todo ou em parte, sob quaisquer
formas ou por quaisquer meios (eletrônico, mecânico, gravação, fotocópia, distribuição na Web
e outros), sem permissão expressa da Editora.
Unidade São Paulo
Av. Embaixador Macedo Soares, 10.735 – Pavilhão 5 – Cond. Espace Center
Vila Anastácio – 05095-035 – São Paulo – SP
Fone: (11) 3665-1100 Fax: (11) 3667-1333
SAC 0800 703-3444 – www.grupoa.com.br
IMPRESSO NO BRASIL
PRINTED IN BRAZIL
Obra originalmente publicada sob o título
JavaScript: The Definitive Guide, 6E
ISBN 978-0-596-80552-4
copyright © 2011, David Flanagan.
Tradução para a língua portuguesa copyright © 2013, Bookman Companhia Editora Ltda., uma empresa do 
Grupo A Educação SA.
Esta tradução é publicada e comercializada com a permissão da O'Reilly Media,Inc., detentora de todos os 
direitos de publicação e comercialização da obra.
Capa: VS Digital, arte sobre capa original
Preparação de original: Bianca Basile
Gerente Editorial – CESA: Arysinha Jacques Aff onso
Editora responsável por esta obra: Mariana Belloli
Editoração eletrônica: Techbooks
David Flanagan é programador e escritor. Seu site é http://davidflanagan.com. Outros de seus livros 
publicados pela O’Reilly incluem JavaScript Pocket Reference, The Ruby Programming Language e 
Java in a Nutshell. David é formado em ciência da computação e engenharia pelo Massachusetts Ins-
titute of Technology. Mora com sua esposa e filhos na região noroeste do Pacífico, entre as cidades 
de Seattle, Washington, Vancouver e British Columbia.
O autor
Este livro abrange a linguagem JavaScript e as APIs JavaScript implementadas pelos navegadores 
Web. Eu o escrevi para os leitores com pelo menos alguma experiência prévia em programação 
que queiram aprender JavaScript e também para programadores que já utilizam JavaScript, mas 
querem aumentar seu conhecimento e realmente dominar a linguagem e a plataforma Web. Meu 
objetivo com este livro é documentar de forma ampla e definitiva a linguagem e a plataforma Java-
Script. Como resultado, ele é grande e detalhado. Contudo, espero que sua leitura cuidadosa seja 
recompensadora e que o tempo investido nela seja facilmente recuperado em forma de uma maior 
produtividade ao programar.
Este livro está dividido em quatro partes. A Parte I abrange a linguagem JavaScript em si. A Parte II 
abrange JavaScript do lado do cliente: as APIs JavaScript definidas por HTML5 e padrões relaciona-
dos e implementados pelos navegadores Web. A Parte III é a seção de referência da linguagem básica 
e a Parte IV é a referência para JavaScript do lado do cliente. O Capítulo 1 inclui um esboço dos 
capítulos das partes I e II (consulte a Seção 1.1).
Esta 6ª edição do livro abrange ECMAScript 5 (a versão mais recente da linguagem básica) e 
HTML5 (a versão mais recente da plataforma Web). Você vai encontrar material sobre ECMAScript 
5 ao longo de toda a Parte I. O material novo sobre HTML5 aparece principalmente nos capítulos 
do final da Parte II, mas também em alguns outros capítulos. Os capítulos totalmente novos desta 
edição são: Capítulo 11, Subconjuntos e extensões de JavaScript; Capítulo 12, JavaScript do lado do 
servidor; Capítulo 19, A biblioteca jQuery; e Capítulo 22, APIs de HTML5.
Os leitores das versões anteriores poderão notar que reescrevi completamente muitos dos capítulos 
para a 6ª edição deste livro. O núcleo da Parte I – os capítulos que abordam objetos, arrays, funções 
e classes – é totalmente novo e torna o livro compatível com os estilos e as melhores práticas de pro-
gramação atuais. Da mesma forma, os principais capítulos da Parte II, como aqueles que abordam 
documentos e eventos, foram completamente atualizados.
Prefácio
x Prefácio
Um lembrete sobre pirataria
Caso esteja lendo a versão digital deste livro pela qual você (ou sua empresa) não pagou (ou pegou em-
prestado de alguém que não pagou), então provavelmente tem um exemplar pirateado ilegalmente. Es-
crever a 6ª edição deste livro foi um trabalho de tempo integral e me ocupou mais de um ano. A única 
maneira pela qual sou pago por esse tempo é quando os leitores compram o livro. E a única maneira de 
poder arcar com as despesas de uma 7ª edição é receber pela 6ª.
Eu não tolero pirataria, mas se você tem um exemplar pirateado, vá em frente e leia alguns capítulos. 
Penso que você vai considerar este livro uma fonte de informações valiosa sobre JavaScript, mais bem or-
ganizada e de qualidade mais alta do que o material que poderá encontrar gratuitamente (e legalmente) 
na Web. Se concordar que esta é uma fonte valiosa de informações, então, por favor, pague o preço de 
aquisição de um exemplar legal (digital ou impresso) do livro. Por outro lado, se achar que este livro não 
vale mais do que as informações gratuitas da Web, então desfaça-se de seu exemplar pirateado e use as 
fontes de informação gratuitas.
Convenções usadas neste livro
Utilizo as seguintes convenções tipográficas neste livro:
Itálico
Utilizado para dar ênfase e para indicar o primeiro uso de um termo. Itálico também é usado 
para endereços de email, URLs e nomes de arquivo.
Largura constante
Utilizada em todo código JavaScript, listagens CSS e HTML, e de modo geral para tudo que 
seria digitado literalmente ao se programar.
Itálico de largura constante
Utilizado para nomes de parâmetros de função e de modo geral como espaço reservado para 
indicar um item que deve ser substituído por um valor real em seu programa.
Exemplo de código
Os exemplos deste livro estão disponíveis online. Você pode encontrá-los na página do livro, no site 
da editora:
http://www.bookman.com.br
Este livro está aqui para ajudá-lo em seu trabalho. De maneira geral, você pode usar os códigos 
em seus programas e documentação. Não é preciso entrar em contato com a editora para pedir 
permissão, a não ser que esteja reproduzindo uma parte significativa de código. Por exemplo, 
não é necessário permissão para escrever um programa que utilize vários trechos de código deste 
livro. Vender ou distribuir um CD-ROM com exemplos exige permissão. Responder a uma per-
gunta mencionando este livro e citando um exemplo de código não exige permissão. Incorpo-
Prefácio xi
rar um volume significativo de código de exemplo deste livro na documentação de seu produto 
exige permissão.
Se você utilizar código deste livro, eu apreciaria (mas não exijo) a referência. Uma referência normal-
mente inclui título, autor, editora e ISBN. Por exemplo: “JavaScript: O Guia Definitivo, de David 
Flanagan (Bookman). Copyright 2011 David Flanagan, 978-85-65837-19-4”.
Para mais detalhes sobre a política de reutilização de código da editora, consulte http://oreilly.com/
pub/a/oreilly/ask_tim/2001/codepolicy.html (em inglês). Se você achar que o uso dos exemplos não se 
enquadra na permissão dada aqui, entre em contato com a editora pelo endereço permission@oreilly.
com.
Errata e como entrar em contato*
A editora O’Reilly mantém uma lista pública dos erros encontrados neste livro (em inglês). Você 
pode ver a lista e apresentar os erros que encontrar visitando a página do livro:
http://oreilly.com/catalog/9780596805531
Para fazer comentários ou perguntas técnicas sobre este livro, envie email para:
bookquestions@oreilly.com
Agradecimentos
Muitas pessoas me ajudaram na criação deste livro. Gostaria de agradecer ao meu editor,