Programação Web Aula 4 - Javascript Parte 1 - O Núcleo



Documentos relacionados
Programação para web JavaScript

Universidade Federal do Espírito Santo CCA UFES. Centro de Ciências Agrárias CCA UFES Departamento de Computação. JavaScript

Primeiro contato com JavaScript

O código JavaScript deve ser colocado entre tags de comentário para ficar escondido no caso de navegadores antigos que não reconhecem a linguagem.

JavaScript 2.0X X

Informática I. Aula 6. Aula 6-12/09/2007 1

Lista de operadores de comparação - > Maior que - < Menor que - <= Menor ou igual a - >= Maior ou igual a - === Igual a -!

Introdução ao Javascript

O que é o JavaScript?

Introdução à Linguagem

Pré-requisito Ter realizado os cursos de Lógica de Programação e HTML5 e CSS3, ou ter conhecimento equivalentes.

JSP - ORIENTADO A OBJETOS

Criando um script simples

JavaScript (ou JScript)

Algoritmos em Javascript

Instituto Federal do Sertão-PE. Curso de PHP. Professor: Felipe Correia

Linguagem de Programação. Introdução ao PHP. Prof Mauricio Lederer Ciência da Computação - UNIANDRADE 1

JavaScript. JavaScript é uma linguagem de script usada em navegadores web. É uma linguagem dinâmica, estruturada e orientada em objetos.

PHP. Hypertext Pre-Processor

Tecnologias para Web Design

Introdução ao PHP. Prof. Késsia Marchi

Tecnologias para apresentação de dados - Java Script. Aécio Costa

Aula de JavaScript 05/03/10

Internet e Programação Web

Orientação a Objetos

ARRAYS. Um array é um OBJETO que referencia (aponta) mais de um objeto ou armazena mais de um dado primitivo.

Os objetivos indicados aplicam-se a duas linguagens de programação: C e PHP

Programação WEB. Prof. André Gustavo Duarte de Almeida docente.ifrn.edu.br/andrealmeida. Aula III Introdução PHP

Programação Estruturada. Programação Estruturada. Idéias Básicas da Programação Estruturada

Introdução à Programação

CURSO DE PROGRAMAÇÃO EM JAVA

Tabela de Símbolos. Análise Semântica A Tabela de Símbolos. Principais Operações. Estrutura da Tabela de Símbolos. Declarações 11/6/2008

2 echo "PHP e outros.";

Programação Web com PHP. Prof. Wylliams Barbosa Santos Optativa IV Projetos de Sistemas Web

Criar a classe Aula.java com o seguinte código: Compilar e Executar

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

AULA 4 VISÃO BÁSICA DE CLASSES EM PHP

APOSTILA PHP PARTE 1

Introdução ao HTML 5 e Implementação de Documentos

PROGRAMAÇÃO ESTRUTURADA. CC 2º Período

OPERADORES E ESTRUTURAS DE CONTROLE

Programação Web Aula 11 - PHP

Aula 12: Funções. Pré-requisitos: Todas as aulas anteriores deste módulo. 1. Aproveitando Códigos no Programa

Curso Adonai QUESTÕES Disciplina Linguagem JAVA

3 Classes e instanciação de objectos (em Java)

Programação WEB I Estruturas de controle e repetição

Framework.NET, Microsoft Visual C# 2010 Express e Elementos da Linguagem C#

Utilizando Janelas e Frames

Unidade IV: Ponteiros, Referências e Arrays

Java. Marcio de Carvalho Victorino

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Linguagem de Programação III Aula 2 - Apresentação da Disciplina

FBV - Linguagem de Programação II. Um pouco sobre Java

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Minicurso de JavaScript PET Sistemas de Informação Segundo Dia Anthony Tailer. Clecio dos Santos. Rhauani Fazul.

Introdução a POO. Introdução a Linguagem C++ e POO

Programação de Computadores - I. Profª Beatriz Profº Israel

Introdução ao Javascript. Parte 2 Prof. Victor Hugo Lopes

Componentes da linguagem C++

2 Orientação a objetos na prática

PHP Programando com Orientação a Objetos

Java 2 Standard Edition Como criar classes e objetos

Javascript 101. Parte 2

Web Design. Prof. Felippe

Sintaxe Básica de Java Parte 1

4. A Linguagem JavaScript

PHP() é uma linguagem de integração de servidor que permite a criação de paginas dinâmicas. Como todas

Introdução ao javascript ver material de apoio em downloads e também-referência livro javascript manzano.

JavaScript (Funções, Eventos e Manipulação de Formulários)

Coleções. Conceitos e Utilização Básica. c Professores de ALPRO I 05/2012. Faculdade de Informática PUCRS

Computação II Orientação a Objetos

Desenvolvimento de Aplicações Web. Prof. José Eduardo A. de O. Teixeira / j.edu@vqv.com.br

Introdução a PHP (Um Programa PHP)

ESTUDO SOBRE AS LINGUAGENS DE PROGRAMAÇÃO HOSPEDEIRAS SUPORTADAS PELA FERRAMENTA HTML. Aluno: Rodrigo Ristow Orientador: Wilson Pedro Carli

Características do PHP. Começando a programar

Prof Evandro Manara Miletto. parte 2

AULA Uma linguagem de programação orientada a objetos

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Treinamento em PHP. Aula 1. Ari Stopassola Junior

Curso Superior de Tecnologia em Análise e Desenvolvimento de Sistemas Prof. Felippe Scheidt IFPR Campus Foz do Iguaçu 2014/2

Panorâmica geral sobre PHP. PHP é uma linguagem que permite fazer. um ficheiro em PHP contem código PHP misturado com HTML.

Métodos Os métodos de uma classe podem ser classificados como construtores, destrutores, funções ou procedimentos.

Desenvolvendo Websites com PHP

Conceitos de Linguagens de Programação

POO Programação Orientada a Objetos. Classes em Java

Curso de PHP. FATEC - Jundiaí. A programação orientada a objetos (object-oriented oriented programming

Especificação do 3º Trabalho

PL/SQL. Profa. Dra. Cristina Dutra de Aguiar Ciferri. Laboratório de Bases de Dados PL/SQL

Lista de Revisão. 3. Analise a afirmativa a seguir como verdadeira ou falsa e justifique.

PÓS-GRADUAÇÃO EM MATEMÁTICA COMPUTACIONAL INFORMÁTICA INSTRUMENTAL

Módulo 06 Desenho de Classes

Transcrição:

Programação Web Aula 4 - Javascript Parte 1 - O Núcleo Bruno Müller Junior Departamento de Informática UFPR 10 de Março de 2014

1 Abordagem 2 Orientação a Objeto Objetos de Javascript Objetos de Javascript 3 Programas Características Sintáticas Primitivas, Operações e Expressões Tipos Primitivos Valores válidos Declaração de variáveis Os objetos Number e Math Comandos de Entrada e Saída Comandos 4 Objetos Criação e Acesso Remoção e Listagem de Atributos 5 Array Métodos de Array 6 Funções

sectionhistórico

Histórico Criado pela Netscape com o nome Mocha, depois mudado para Livescript. 1995 - Javascript (Netscape + Sun) Primeiro padrão (199X - ECMA 1 ): ECMA-262 2, ISO-16262 Dividido em três partes: Core: comandos, operadores, etc.; Client-side: objetos que dão suporte ao uso em HTML; Server-side: objetos que dão suporte ao uso em servidores; 1 European Computer Manufacturers Association 2 http: //www.ecma-international.org/publications/standards/ecma-262.htm

Abordagem Javascript é uma das pedras fundamentais da execução de tarefas no lado do cliente. Só iremos abordar Client-side Javascript). Divivimos o conteúdo em mais de uma aula: Aula 1: A linguagem (sintaxe, estruturas, etc.) Aula 2: Javascript e HTML Aula 3: Javascript Dinâmico (inclui Ajax, Jquery, CofeeScript).

Orientação a Objeto não é uma linguagem orientada a objetos, mas uma linguagem baseada em objetos. Não tem classes. Seus objetos servem como objetos e como modelo de objetos. Simula aspectos de herança usando prototype based inheritance. Como não tem herança, também não tem polimorsmo.

Objetos de Javascript Objetos de Javascript Objetos são coleções de propriedades: propriedade de dados; valores primitivos; referências a outros objetos; propriedade de função; propriedade de método; Usa tipos primitivos, que não são objetos, que podem ser implementados em hardware.

Objetos de Javascript Objetos de Javascript acessa-se a propriedade motor da variável carro com carro.motor. é possíve acrescentar ou remover dinamicamente as propriedades de objetos. há um objeto raiz, chamado Object, de onde os objetos javascript herdam propriedades de função e de método (mas não de dados).

Programas Nestas aulas, só usaremos javascript incluídos em documentos html. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>exemplo de uso do javascript em HTML <p> </title> </head> <body> <script> document.write("<h1>este é um Heading </h1>"); document.write("<p>este é um parágrafo.</p>"); </script> <p> O comando <strong>document.write</strong> escreve o texto indicado no documento HTML antes dele ser processado pelo navegador. </p> </body> </html>

Características Sintáticas Características Sintáticas Identicadores: começam com letra, _ ou $ case sensitive (teste e Teste são diferentes. não podem ser as palavras reservadas: break, case, catch, continue, etc., e nem as futuras palavras reservadas 3 comentários: // comentário até o m da linha /* comentário neste intervalo */ o interpretador tenta fazer com que ; seja desnecessário, mas nem sempre funciona. Ele insere um ; quando ELE ACHA que termina um comando e encontra um char nova linha. Isto pode gerar problemas como em: return \n x; 3 http://www.ecma-international.org/ecma-262/5.1/#sec-7.6.1

Tipos Primitivos Tipos Primitivos tem cinco tipos primitivos: Number, String, Boolean, Undefined e Null. Tem wrapper objects associados a cada tipo primitivo, chamados Number, String, Boolean, Undefined e Null. A vantagem dos wrapper objects é que disponibilizam uma série de propriedades e métodos úteis. Em Number, as propriedades são mais úteis. Em String, os métodos são mais úteis.

Valores válidos Valores válidos Number: 72 7.2.72 72. 7E2 7e2 7e-2 String: Usa os delimitadores crase (') ou aspas ("), sendo \ o caractere de escape. 'You\'re', "\\". Null: Só tem um valor, null, que indica sem valor (objeto não alocado). Undened: Só tem um valor, undefined, que indica objeto alocado, porém sem atribuição de valor. Boolean: Dois valores: true e false.

Declaração de variáveis Declaração de variáveis As variáveis não tem tipo. Os valores tem. Declaração implícita (atribuição) ou explícita. Recomenda-se FORTEMENTE declará-las. No exemplo abaixo, counter e index tem o valor undefined. var counter, index, cidade = "Curitiba"; // declaração explícita... filme = "Lawrence of Arabia" // declaração implícita....

Os objetos Number e Math Os objetos Number e Math Number: Math exemplos de propriedades constantes numéricas: MAX_VALUE, MIN_VALUE, NaN, POSITIVE_INFINITY, PI, etc. exemplo de métodos: isnan, tostring, Uso: Number.PI Contém métodos que podem ser aplicados a objetos Number. sin, cos, floor, etc. Uso: Math.sin(x).

Comandos de Entrada e Saída Comandos de Entrada e Saída Aqui abordamos somente o contexto de HTML. Quando executado, o Javascript associa o arquivo HTML no objeto Document. A janela (do navegador) é associado ao objeto Window. O objeto Document contém vários métodos, dentre eles, write. Exemplo: document.write(<h1>res=, res, <h1>) Outros Comandos de saída: Alert, conrm, prompt http://www.w3schools.com/js/js_popup.asp

Comandos Comandos for, while, if, switch. http://www.w3schools.com/js/

Criação e Acesso O comando new cria um novo objeto em branco, sem propriedades. Exemplo var novo_obj = new Object();. As propriedades de um objeto podem ser criadas dinamicamente. Isto é muito diferente de outras linguagens, onde as propriedades são denidas em tempo de compilação. var my_car = new Object (); // cria um objeto da classe Objetct my_car.marca = "Ford"; // Cria dinamicamente a propriedade marca. my_car.modelo = "Fusion"; // Cria dinamicamente a propriedade modelo. // ------------ Outra forma de criar -------------------------- var my_car = {marca: "Ford", modelo: "Fusion"}; // ------------ Acesso ---------------------- var prop1 = my_car.make; var prop2 = my_car.["make"]; // muito usada com [<variável>]

Remoção e Listagem de Atributos Para apagar atributos: delete my_car.model Para listar atributos: for (var prop in my_car) document.write ("<br> Nome: ", prop, "Valor:", my_car[prop], "</br>");

Array São objetos que podem conter outros objetos. Criação: var my_list = new Array (1, 2, three, four); var other_list = new Array(100); var my_list = [ 1, 2, three, four]; O primeiro elemento de um Array é a posição zero. O tamanho é denido pelo último elemento mais um. my_list[47] = 2222; // tamanho 48 O tamanho pode ser denido explicitamente: my_list.length = 100;

Métodos de Array Métodos de Array São muitos para listar aqui. Ficaremos só com alguns: join : retorna um String com todos os elementos; sort : ordena um vetor, tratando cada elemento como string. concat: concatena dois Arrays. push e pop: insere/retira a última posição do Array. shift/unshift: insere/retira a primeira posição do Array.

Funções Funcionalidade semelhante às linguagens tradicionais. Exige a palavra reservada function; São objetos: podem ser colocados como propriedades de objetos. devem ser denidos antes da chamada (normalmente em <head>). podem ser aninhadas, mas é incomum. function fun () { document.write ("Esta é uma função<br/>); return 2 } nova_fun = fun; // nova_fun aponta para o objeto fun fun(); // chama fun (pois tem parênteses) nova_fun(); // chama fun de novo. (pois tem parênteses) res = fun(); document.write (res, "<br/>");

Variáveis Variáveis Variáveis Locais Visíveis somente no escopo em que foram declaradas(com var); Variáveis Globais Declaradas explicitamente como tal; Variáveis declaradas implicitamente.

Parâmetros Parâmetros Passagem por valor (cópia); Passagem por referência para objetos; Se escrever em um elem. do Array, troca o valor do chamador. Se trocar todo o Array por outro objeto, nada muda no chamador (abaixo). Os parâmetros são passados como um Array, e podem ser de tamanho variável (usando a variável arguments). http://www.inf.ufpr.br/bmuller/ci320/4/params.js function fun1(my_list){ var list2 = new Array (1, 3, 5); my_list[3]=14; // altera "list" my_list = list2; // não altera "list" }... var list = new Array [2,4,6,8]; fun1(list);

Funções como Parâmetros Funções como Parâmetros O método sort ordena um vetor, considerando que cada elemento é um String. Assim [10, 2, 300] está ordenado. para ordenar inteiros, é necessário passar a função de comparação como parâmetro http://www.inf.ufpr.br/bmuller/ci320/4/median.html list.sort(function (a,b) {return (a-b);});

Construtores Construtores são métodos especiais para criar e iniciar as propriedades dos objetos recém criados. function mostra_carro () { document.write("<br/> Carro: ", this.car, "<br/> Marca: ", this.marca, "<br/> Modelo:", this.modelo, "<br/>");... } // THIS function carro (nova_marca, novo_modelo, novo_ano) { this.marca = nova_marca; this.modelo = novo_modelo; this.ano = novo_ano; this.mostra = mostra_carro; // <====> } meu_carro = new carro ("Ford", "Focus", "2014"); meu_carro.mostra(); // <====>

Erros Em linguagens interpretadas, encontrar erros é mais difícil. Por vezes, um erro implica em não mostrar o que devia. Porém não há um aviso de erro. Ferramentas que dizem o erro que ocorreu: Firefox: Tools WebDeveloper WebConsole Firefox: Firebug (add-on) Chrome: Developer Tools (Ctrl+Shift+J)