Aprendendo JavaScript
Adicione brilho e vida às suas páginas web
Descrição do livro
Se você quiser usar JavaScript para aproveitar os navegadores poderosos que existem hoje, Aprendendo JavaScript oferece uma cobertura completa e compreensível dessa linguagem não convencional, porém essencial para o desenvolvimento para web. Você aprenderá desde tipos primitivos de dados até recursos complexos, incluindo elementos JavaScript relacionados a Ajax e efeitos de páginas dinâmicas. No final deste livro, você conseguirá trabalhar até mesmo com as bibliotecas e aplicações web mais sofisticadas.
Ampliada com melhores práticas e exemplos do uso de JavaScript, esta edição mostra a você como integrar a linguagem com o ambiente do navegador, além de como praticar técnicas apropriadas de codificação para websites que suportem os padrões.
Com este livro, você irá:
- Aprender a estrutura de uma aplicação em JavaScript, incluindo instruções básicas e estruturas de controles
- Identificar objetos JavaScript: String, Number, Boolean, Function e outros
- Usar ferramentas de depuração de navegadores e técnicas de correção de erros
- Entender a manipulação de eventos e aplicações em JavaScript com formulários
- Desenvolver com Browser Object Model, Document Object Model e objetos personalizados que você criar
- Aprender sobre cookies de navegadores e técnicas mais modernas de armazenamento no lado cliente
- Obter informações detalhadas sobre o uso de XML ou JSON com aplicações Ajax
“Seja você um programador iniciante ou experiente procurando uma nova linguagem, eu certamente recomendaria Aprendendo JavaScript. A abordagem direta de Shelley ajudará você a dominar o básico e as nuances da linguagem para melhor usá-la em seu próprio website.”- Anthony T. Holdener III, autor de Ajax: The Definitive Guide, da O’Reilly
Aprendendo JavaScript segue princípios de aprendizagem já comprovados que ajudam a assimilar os conceitos em um ritmo tranquilo, de modo que você entenderá como criar aplicações poderosas e com respostas rápidas em qualquer navegador.
Ver menos ▲Sumário
Sumário
- Prefácio
- Público-alvo
- Suposições e abordagem
- Ambiente de desenvolvimento
- Como o livro está organizado
- Detalhamento dos capítulos
- Convenções adotadas neste livro
- Uso dos exemplos de código
- Agradecimentos
- CAPÍTULO 1 – Olá, JavaScript!
- Hello World!
- Hello World! novamente
- A tag script
- JavaScript versus ECMAScript versus JScript
- Definição de funções em JavaScript
- Manipuladores de eventos
- Objeto document de navegador
- Operador property
- Palavra-chave var e o escopo
- Instruções (statements)
- Comentários
- O que você não viu: seções CDATA e comentários em HTML
- Arquivos JavaScript
- Acessibilidade e melhores práticas em JavaScript
- Diretrizes de acessibilidade
- noscript
- CAPÍTULO 2 – Variáveis e tipos de dados JavaScript
- Identificação de variáveis
- Diretrizes de nomenclatura
- Tipos primitivos
- Tipo de dado string
- Sequências de escape de strings
- Codificação de strings
- Conversão em strings
- Tipo booleano
- Tipo de dados numéricos
- Variáveis nulas e indefinidas
- Constantes: possuem nomes mas não são variáveis
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- Identificação de variáveis
- CAPÍTULO 3 – Operadores e instruções
- Formato de uma instrução JavaScript
- Instrução de atribuição
- Operadores aritméticos
- Operadores unários
- Precedência de operadores
- Atalho útil: atribuição com operação
- Operadores bitwise
- Instruções condicional e fluxo de programa
- Instrução condicional if ... else
- Instrução condicional switch
- Operadores condicionais
- Operadores de igualdade e identidade (igualdade de string)
- Outros operadores relacionais
- Operador ternário JavaScript um e somente um
- Operadores lógicos
- Instruções avançadas: laços
- Laço while
- Laço do ... while
- Laços for
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- CAPÍTULO 4 – Objetos JavaScript
- Tipos primitivos de dados como objetos
- Boolean, Number e String
- Objeto Boolean
- Objeto Number, propriedades estáticas e métodos de instância
- Objeto String
- Expressões regulares e RegExp
- Métodos RegExp: test e exec
- Trabalhando com expressões regulares
- Objeto Date
- Objeto Math
- Propriedades de Math
- Métodos de Math
- Arrays JavaScript
- Filas FIFO
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- CAPÍTULO 5 – Funções
- Funções declarativas
- Convenções de nomenclatura e tamanho de funções
- Parâmetros e retornos de uma função
- Funções anônimas
- Funções literais
- Funções e recursão
- memória
- Funções de callback
- Funções e recursão
- Resumo dos tipos de funções
- Escopo de funções
- Funções como objetos
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- um navegador
- Formas simples de depuração
- Ferramentas de desenvolvimento e depuração por navegador
- Firefox e Firebug
- Usando o console log
- Firefox, Web Developer Kit e NoScript
- Opera e Dragonfly
- Safari/WebKit e o Web Inspector
- Internet Explorer
- Lidando com diferenças entre navegadores
- Detecção de objetos
- Onde a detecção de objetos falha
- DOCTYPE, X-UA-Compatible e Quirks Mode
- Quebrando a compatibilidade retroativa: Metatag http-equiv do IE8
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- Funções declarativas
- CAPÍTULO 7 – Captura de eventos
- Eventos
- Manipulador de eventos de nível 0
- Objeto Event
- Propagação de eventos
- Manipuladores de eventos e this
- Modelo de eventos DOM nível 2
- Geração de eventos
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- CAPÍTULO 8 – Formulários, eventos de formulários e validação
- Anexando eventos a formulários: diferentes abordagens
- Manipulação de eventos para mais de um tipo de navegador
- Cancelamento de um evento
- Seleção
- Modificação dinâmica da seleção
- Seleção e autosseleção
- Botões de rádio e caixas de verificação
- Elementos de entrada text, textarea, password e hidden
- Validação de texto
- Campos de entrada e validação de expressões regulares
- Formulários, a Sandbox e XSS
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- Anexando eventos a formulários: diferentes abordagens
- CAPÍTULO 9 – O navegador como um quebra-cabeça
- Panorama da estrutura do navegador
- Objeto window
- Criação e controle de janelas
- Diálogos: alert, confirm e prompt
- Criação de janelas personalizadas
- Modificação de uma janela
- Frames
- Objeto location
- Scripting remoto com o iframe
- Adição e controle de temporizadores
- Objetos history, screen e navigation
- Objeto history
- Objeto screen
- Objeto navigator
- Propriedades history, screen e navigator em ação
- Objeto Document
- Links
- Imagens
- innerHTML
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- CAPÍTULO 10 – Cookies e outras técnicas de armazenamento no lado cliente
- SandBox e a segurança de cookies em JavaScript
- Política de segurança de mesma origem
- Uso de document domain
- Tudo sobre cookies
- Armazenamento e leitura de cookies
- Armazenamento Flash Shared Objects, Google Gears e DOM HTML5
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- SandBox e a segurança de cookies em JavaScript
- CAPÍTULO 11 – DOM ou a página web como árvore
- Uma história sobre duas interfaces
- API DOM HTML
- Objetos DOM HTML e suas propriedades
- Coleções DOM (HTML)
- Entendendo o DOM: A API Core
- Árvore DOM
- Propriedades e métodos de nodos
- Objeto Document do DOM Core
- Element e o acesso em contexto
- Modificação da árvore
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- CAPÍTULO 12 – Páginas dinâmicas
- JavaScript, CSS e o DOM
- Propriedade/atributos de estilo
- Fontes e texto
- Propriedades FontStyle
- Propriedades de texto
- Posição e movimento
- Posicionamento dinâmico
- Arrastar e soltar
- Tamanho e recorte
- Overflow e conteúdo dinâmico
- Retângulo de corte
- Exibição, visibilidade e opacidade
- Ferramenta certa para o efeito certo
- Informação no tempo certo
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- JavaScript, CSS e o DOM
- CAPÍTULO 13 – Criação de objetos JavaScript personalizados
- Objeto JavaScript e prototipagem
- Prototipagem
- Criação de seus próprios objetos JavaScript personalizados
- Digite a função
- Propriedades públicas e privadas e onde this entra em cena
- Getters e setters
- Encapsulamento de objetos
- Encadeamento de construtores e herança JavaScript
- Objetos One-Off
- Bibliotecas de objetos: empacotamento de objetos para reutilização
- Técnicas avançadas de manipulação de erros (try, throw, catch)
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- Objeto JavaScript e prototipagem
- CAPÍTULO 14 – Saindo da página com Ajax
- Como o Ajax funciona
- Hello Ajax World!
- Objeto XMLHttpRequest e preparação para enviar a solicitação
- Objeto, objeto, quem tem o objeto?
- Métodos XMLHttpRequest
- Processamento do retorno da solicitação web
- Verificação do readyState e o status de uma solicitação Ajax
- Processamento do resultado da solicitação web
- Ajax: não é apenas código
- Natureza dinâmica do Ajax
- Acessibilidade Ajax e degradação homogênea
- Segurança e contornos
- JavaScript e bibliotecas Ajax
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- CAPÍTULO 15 – Dados Ajax: XML ou JSON?
- Resultados Ajax formatados como XML
- Tipo MIME dos dados
- Gerando o XML no servidor
- Processamento do XML no cliente
- JSON
- Uma aplicação JSON simples
- Objeto JSON
- Teste seu conhecimento: Quiz
- Teste seu conhecimento: Respostas
- Sobre a autora
- Nota final
- Resultados Ajax formatados como XML
Sobre o autor
Shelley Powers trabalha e escreve sobre tecnologias web há mais de 13 anos. Seus livros recentes para a O’Reilly tratam da semântica web, Ajax, JavaScript e gráficos web. Ela também é uma ávida fotógrafa e uma desenvolvedora web aficcionada.… Ver perfil completo ▶
Livros relacionados
Opinião dos leitores
Augusto M Z
Muito bom livro sem dúvida, começa com uma aplicação simples e vai evoluindo até chegar em outra mais complexa.
Alisson C
Excelente, simples e bastante completo para quem está iniciando
Rodrigo P de S
Livro muito bom, didática excelente principalmente para quem é iniciante, não é o meu caso mas me tirou muitas dúvidas e me ensinou a utilizar a linguagem de uma maneira mais simples e elegante. O leitor só precisa ficar atento com a a tradução que em alguns pontos falha em alguns trechos de código, pois quem for iniciante em programação e não saber se safar, pode ficar "boiando".






