introducción a javascript

30
Fundamentos de Javascript Abraham Estrada

Upload: abraham-estrada

Post on 19-Jul-2015

1.326 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: Introducción a Javascript

Fundamentos de Javascript

Abraham Estrada

Page 2: Introducción a Javascript

HistoriaBrendan Eich

Netscape

Mocha > LiveScript

1995

Microsoft JScript

1996

3WC - DOM

1997 ECMA

ECMAScript

ISO

Page 3: Introducción a Javascript

Sintaxis Básicavar foo = ‘hello world’;var foo = ‘hello world’;2 * 3 + 5 // 112 * (3 + 5) // 16

var foo = function() { console.log(‘hello);};

Page 4: Introducción a Javascript

Operadores Básicosvar foo = ‘hello’;var bar = ‘world’;console.log(foo + ‘ ‘ + bar);

2 * 3;2 / 3;

var i = 1;var j = ++i;var k = i++;

Page 5: Introducción a Javascript

Operaciones con Números y Cadenas de Caracteres

var foo = 1;var bar = ‘2’;console.log(foo + bar);

console.log(foo + Number(bar));

console.log(foo + +bar);

Page 6: Introducción a Javascript

Operadores Lógicos

var foo = 1;var bar = 0;var baz = 2;

foo || bar; // devuelve 1, el cual es verdadero (true)bar || foo; // devuelve 1, el cual es verdadero (true)

foo && bar; // devuelve 0, el cual es falso (false)foo && baz; // devuelve 2, el cual es verdadero (true)baz && foo; // devuelve 1, el cual es verdadero (true)

Page 7: Introducción a Javascript

Operadores de Comparaciónvar foo = 1;var bar = 0;var baz = '1';var bim = 2;

foo == bar; // devuelve falso (false)foo != bar; // devuelve verdadero (true)foo == baz; // devuelve verdadero (true)

foo === baz; // devuelve falso (false)foo !== baz; // devuelve verdadero (true)foo === parseInt(baz); // devuelve verdadero (true)

foo > bim; // devuelve falso (false)bim > baz; // devuelve verdadero (true)foo <= baz; // devuelve verdadero (true)

Page 8: Introducción a Javascript

Código Condicionalvar foo = true;var bar = false;

if (bar) { // este código nunca se ejecutará console.log('hello!');}

if (bar) { // este código no se ejecutará} else { if (foo) { // este código se ejecutará } else { // este código se ejecutará si foo y bar son falsos (false) }}

Page 9: Introducción a Javascript

Elementos Verdaderos y Falsos'0';'any string'; // cualquier cadena[]; // un arreglo vacío{}; // un objeto vacío1; // cualquier número distinto a cero

0;''; // una cadena vacíaNaN; // la variable JavaScript "not-a-number"null; // un valor nuloundefined; // puede ser redefinido

Page 10: Introducción a Javascript

Variables Condicionales Utilizando el Operador Ternario

var foo = bar ? 1 : 0;

Page 11: Introducción a Javascript

Declaración Switchswitch (foo) { case 'bar': alert('el valor es bar'); break;

case 'baz': alert('el valor es baz'); break;

default: alert('de forma predeterminada se ejecutará este código'); break;}

Page 12: Introducción a Javascript

var stuffToDo = { 'bar' : function() { alert('el valor es bar'); },

'baz' : function() { alert('el valor es baz'); },

'default' : function() { alert('de forma predeterminada se ejecutará este código'); }};

if (stuffToDo[foo]) { stuffToDo[foo]();} else { stuffToDo['default']();}

Page 13: Introducción a Javascript

Bucle: For

// muestra en la consola 'intento 0',// 'intento 1', ..., 'intento 4'for (var i=0; i<5; i++) { console.log('intento ' + i);}

Page 14: Introducción a Javascript

Bucle: Whilevar i = 0;while (i < 100) { // Este bloque de código // se ejecutará 100 veces console.log('Actualmente en ' + i);

i++; // incrementa la variable i}

Page 15: Introducción a Javascript

Bucle: Do-While

do { // Incluso cuando la // condición sea falsa // el cuerpo del bucle se // ejecutará al menos una vez. alert('Hello');} while(false);

Page 16: Introducción a Javascript

Break - Continuefor (var i = 0; i < 10; i++) { if (something) { break; }}for (var i = 0; i < 10; i++) { if (something) { continue; } // La siguiente declaración será ejecutada // si la condición 'something' no se cumple console.log('Hello');}

Page 17: Introducción a Javascript

Palabras Reservadasabstractbooleanbreakbytecasecatchcharclassconst

continuedebuggerdefaultdelete

do

doubleelse

enumexportextends

finalfinallyfloatfor

functiongoto

ifimplements

import

ininstanceof

intinterface

longnativenew

packageprivate

protectedpublicreturnshortstatic

superswitch

synchronizedthis

throwthrows

transienttry

typeofvarvoid

volatilewhilewith

Page 18: Introducción a Javascript

Arreglosvar myArray = [ 'hello', 'world' ];

var myArray = [ 'hello', 'world', 'foo'];

console.log(myArray[2]);console.log(myArray.length);

myArray[1] = ‘changed’;myArray.push(‘new’);

Page 19: Introducción a Javascript

Arreglos

var myArray = [ 'h', 'e', 'l', 'l', 'o' ];var myString = myArray.join(''); // 'hello'var mySplit = myString.split('');// [ 'h', 'e', 'l', 'l', 'o' ]

Page 20: Introducción a Javascript

Objetos

var myObject = { sayHello : function() { console.log('hello'); }, myName : 'Rebecca'};

myObject.sayHello();console.log(myObject.myName);

Page 21: Introducción a Javascript

Funciones

function foo() { /* hacer algo */ }var foo = function() { /* hacer algo */ }

http://kangax.github.com/nfe/

Page 22: Introducción a Javascript

var greet = function(person, greeting) { var text = greeting + ', ' + person; console.log(text); };

greet('Rebecca', 'Hello');// muestra en la consola 'Hello, Rebecca'

Page 23: Introducción a Javascript

var greet = function(person, greeting) { var text = greeting + ', ' + person; return text;};

console.log(greet('Rebecca','hello'));// la función devuelve 'Hello, Rebecca', la cual se muestra en la consola

Page 24: Introducción a Javascript

var greet = function(person, greeting) { var text = greeting + ', ' + person; return function() { console.log(text); };};

var greeting = greet('Rebecca', 'Hello');greeting();// se muestra en la consola 'Hello, Rebecca'

Page 25: Introducción a Javascript

Funciones Anónimas Autoejecutables

(function(){ var foo = 'Hello world';})();

console.log(foo);// indefinido (undefined)

Page 26: Introducción a Javascript

var myFunction = function() { console.log('hello');};var myObject = { foo : 'bar'};var myArray = [ 'a', 'b', 'c' ];var myString = 'hello';var myNumber = 3;

Page 27: Introducción a Javascript

typeof myFunction; // devuelve 'function'typeof myObject; // devuelve 'object'typeof myArray; // devuelve 'object'typeof myString; // devuelve 'string'typeof myNumber; // devuelve 'number'

typeof null; // devuelve 'object'

if (myArray.push && myArray.slice && myArray.join) { // probablemente sea un arreglo // (este estilo es llamado, en inglés, "duck typing")}

if (Object.prototype.toString.call(myArray) === '[object Array]') { // definitivamente es un arreglo; // esta es considerada la forma más robusta // de determinar si un valor es un arreglo.}

Page 28: Introducción a Javascript

Alcance (scope)var foo = 'hello';

var sayHello = function() { console.log(foo);};

sayHello(); // muestra en la consola 'hello'console.log(foo); // también muestra en la consola 'hello'

Page 29: Introducción a Javascript

Alcance (scope)var sayHello = function() { var foo = 'hello'; console.log(foo);};

sayHello(); // muestra en la consola 'hello'console.log(foo); // no muestra nada en la consola

Page 30: Introducción a Javascript

Alcance (scope)var foo = 'world';

var sayHello = function() { var foo = 'hello'; console.log(foo);};

sayHello(); // muestra en la consola 'hello'console.log(foo); // muestra en la consola 'world'