introdução ao javascript

44
Carlos Roberto Gomes Junior http://carlosroberto.name http://github.com/carlosrberto

Upload: carlos-roberto-gomes-junior

Post on 26-Jun-2015

735 views

Category:

Technology


7 download

DESCRIPTION

Introdução ao JavaScript, história, características da linguagem e lógica de programação.

TRANSCRIPT

Page 1: Introdução ao JavaScript

Carlos Roberto Gomes Junior

http://carlosroberto.namehttp://github.com/carlosrberto

Page 2: Introdução ao JavaScript

JavaScript Básico

Page 3: Introdução ao JavaScript

O Que é ?

É uma linguagem de programação interpretada utilizada inicialmente

apenas no lado cliente de uma aplicação web

Page 4: Introdução ao JavaScript

Origem

Surgiu em 1995, desenvolvida por Brendan Eichenquanto trabalhava na antiga Netscape, inicialmente

tinha o nome de Mocha, depois LiveScript efinalmente JavaScript.

Page 5: Introdução ao JavaScript

Inicialmente não havia um padrão na linguagem,cada browser possuia uma implementação

com algumas diferenças.

Page 6: Introdução ao JavaScript

JScriptA Microsoft para competir com a Netscape

criou o JScript.As duas linguagens eram bem semelhantes

mas com implementações um pouco diferêntes.

Esses problemas são “sentidos” até hoje.

Page 7: Introdução ao JavaScript

Em 1996 a Netscape envia o JavaScript para Ecmacomo forma de sugerir um padrão de implementação da linguagem.

Assim surge o ECMAScript que é umapadronização que os desenvolvedores

devem seguir ao implementar a linguagem.

Padronização

Page 8: Introdução ao JavaScript

“JavaScript” !== “Java”

A mudança de nome de LiveScript para JavaScriptocurreu quando a Netscape implementou o Java

pela primeira vez em seu navegador.

Muitos acreditam que a semelhança de nomes foi proposital de forma a aproveitar a fama

da ainda jovem Java.

Page 9: Introdução ao JavaScript

JavaScript no browser e além!

Por muito tempo o JavaScript ficou conhecido apenascomo a linguagem client-side da Web

Page 10: Introdução ao JavaScript

No início faziamos apenas validações de formulárioe abriamos popups.

Page 11: Introdução ao JavaScript

HTML 5

Page 12: Introdução ao JavaScript

• Canvas

• Canvas 3D

• Websockets

• Workers

• Audio

• Video

• User Media

• History

• Gamepad

• Device Orientation

• Geolocation

• Application Cache

• Web SQL

• etc.............

HTML5 JavaScript APIs

Page 13: Introdução ao JavaScript

Rhino

Page 14: Introdução ao JavaScript

NodeJS

Page 15: Introdução ao JavaScript

Titanium SDK

Page 16: Introdução ao JavaScript

Tide SDK

Page 17: Introdução ao JavaScript

Firefox OS

Page 18: Introdução ao JavaScript

Inserindo em um documento

<script>var myVar = "value";</script>

<script src="file.js"></script>

Page 19: Introdução ao JavaScript

ComentáriosCrie o costume de comentar seu código.

Isso lhe ajuda a manter o código organizado, facilita a manutenção e evita que outros programadores falem mal da sua mãe.

// Comentários em uma linha

/* Comentários com multiplas linhas */

Page 20: Introdução ao JavaScript

Variáveis

Devem começar apenas com letras de a-z, A-Z, _, $

Variáveis utilizam um espaço na memória para guardar informações.

var idade = 27;var name = "carlos";var _city = "ribeirão";var _address_2 = "street name";var $ = "dolar";

Page 21: Introdução ao JavaScript

Tipos de Variáveis// Stringvar car = “Porsche”

// Numbervar weight = 2000;

// Functionvar sum = function(a, b) { return a+b;};

// Objectvar triangle = { sideA: 60, sideB: 30, sideC: 90};

// Arrayvar vocals = [‘a’, ‘e’, ‘i’, ‘o’, ‘u’];

Page 22: Introdução ao JavaScript

Operadores Matemáticos

Page 23: Introdução ao JavaScript

=, +=, -=, +, -, ++, --, /, /=, *, *=, %

• 2 + 3; // => 3

• 2 - 2; // => 0

• a = 2;

• a++ // soma 1;

• a -- // subtrai 1;

• c = 4;

• c += 2 // c = c + 2

• c -= 2 // c = c + 2

• 10/2; // => 5

• 3*9; // => 27

• 7%3; // => 1

Page 24: Introdução ao JavaScript

Operadores LógicosOs operadores lógicos são a base das linguágensde programação sem eles nada seria posssível.

São eles que determinam o comportamento de um programa, mudam suas ações.

Veremos que tudo se resume em “verdadeiro” e “falso”, 0 e 1.

Page 25: Introdução ao JavaScript

true / falsetrue // truefalse // false"peixe" // true"" // false"0" // true0 // false1 // true2 // truenull // falseundefined // false

Page 26: Introdução ao JavaScript

==, ===, !=, !==, >, >=, <, <=, !, !!, &&, ||

Page 27: Introdução ao JavaScript

==

2 == 2 // true"agua" == "água" // false"1kg de algodão" == "1kg de ferro" // false

Page 28: Introdução ao JavaScript

!=

3 != 3 // false"lua" != "sol" // true

Page 29: Introdução ao JavaScript

>, >=, <, <=

20 > 1 // true3 > 6 // false7 >= 2 // true10 < 5 // false12 <= 12 // true

Page 30: Introdução ao JavaScript

== vs ===, != vs !==

2 == "2" // true2 === "2" // false0 == false // true0 === false // false7 !== "7" // true

Page 31: Introdução ao JavaScript

&& (AND)

true && true // truetrue && false // falsefalse && false // falsefalse && true && true // false3 < 5 && 7 > 2 // true"div" != "span" && 7 >= 6 // true

Page 32: Introdução ao JavaScript

|| (OR)

7 || 4 // 7 (true)false || 2 // 2 (true)"maça" == "laranja" || 2 == 2 // true

Page 33: Introdução ao JavaScript

! (not)

!3 // false!("a" != "a") // true2 == 2 && !(2 < 2) // true

Page 34: Introdução ao JavaScript

!!Converte o valor para true/false

!!"banana" // true!!"0" // true!!"" // false!!null // false

Page 35: Introdução ao JavaScript

Estruturas de Controle

• if, else if, else

• for

• switch

• while

• operador ternário (condição ? a : b)

Page 36: Introdução ao JavaScript

if, else if, elseTesta uma condição e executa um comando

caso verdadeiro e/ou falso

var isiPad = navigator.userAgent.match(/iPad/);var isChrome = navigator.userAgent.match(/Chrome/);

if( isiPad ) { // faz algo se for ipad} else if ( isChrome ) {// faz algo se for chrome} else {// faz algo caso não seja iPad nem Chrome}

Page 37: Introdução ao JavaScript

forExecuta uma instrução até que

a condição não seja mais satisfeita

var frutas = ["laranja", "goiaba", "açaí"];var totalFrutas = frutas.length;var frase;

for (var i = 0; i < totalFrutas i++) {frase = frutas[i] + " é o item " + i + " da lista"; console.log( frase );

}

// laranja é o item 0 da lista// goiaba é o item 1 da lista// açaí é o item 2 da lista

Page 38: Introdução ao JavaScript

for inPercorre as propriedades de um objeto

var carro = { ano: 2012, marca: "volkswagen", cavalos: 110}

for ( propriedade in carro ) { console.log( propriedade );}

// ano// marca// cavalos

for ( propriedade in carro ) { console.log( propriedade + " : " + carro[propriedade] );}

// ano : 2012// marca : "volkswagen"// cavalos : 110

Page 39: Introdução ao JavaScript

switch

Executa uma instrução de acordo com valor passado

Page 40: Introdução ao JavaScript

var dia = new Date().getDay(); // numero do dia da semana 0-6var diaDaSemana;

switch ( dia ) { case 0: diaDaSemana = "Domingo"; break; case 1: diaDaSemana = "Segunda"; break; case 2: diaDaSemana = "Terça"; break; case 3: diaDaSemana = "Quarta"; break; case 4: diaDaSemana = "Quinta"; break; case 5: diaDaSemana = "Sexta"; break; case 6: diaDaSemana = "Sábado"; break; default: diaDaSemana = "Desconhecido"; break;}console.log( diaDaSemana );

Page 41: Introdução ao JavaScript

while

var valor = 0;var incremento = 0.5;var maximo = 100;

while ( valor < maximo ) { valor = valor + incremento;}

console.log( valor );

// 100

Page 42: Introdução ao JavaScript

Operador ternário

condicao ? “valor se verdadeiro” : “valor se falso”

Page 43: Introdução ao JavaScript

var data = new Date();var hora = date.getHours();var periodo = hora < 18 ? "dia" : "noite";

var frase = "Por enquanto ainda é " + periodo;

Page 44: Introdução ao JavaScript

Livros Recomendados