SlideShare una empresa de Scribd logo
1 de 30
Red de Investigaciones de
Tecnología Avanzada
Universidad Distrital Francisco José de Caldas
Javascript 101
● Historia
● Características
● Motores
● Aplicaciones
● Herramientas
● Sintaxis
● Tipos de datos
● Operadores
● Control de flujo
○ Condiciones
○ Bucles
● Funciones
○ Callbacks
○ Closures
○ Scope
● DOM (Document Object Model)
● Eventos
● jQuery
Historia
Brendan Eich
LiveScript
JavaScript
ECMA International
1995
1997
ECMAScript
Características
● Lenguaje de interpretado
● Débilmente tipado
● Multiparadigma
● Cuenta con funciones first-class
● Basado en prototipos
Motores
Gecko Webkit
WebkitPresto
Aplicaciones
Toolkit
JS Bin
Sintaxis (I)
● Sensible a Mayúsculas y minúsculas
● Cada instrucción termina con ;
● Los bloques de código están delimitados por { }
● Comentarios para múltiples líneas /* */
● Comentario de una línea //
<!DOCTYPE html>
<html>
<head>
<script src="script1.js"></script>
<script> // código </script>
</head>
<body>
<script src="script2.js"></script>
</body>
</html>
Sintaxis (II)
--------------------
------------
---------------------
--------------------
----------------------
------------------------
---------------------
---------
script1.js
Tipos de datos (I)
Números
Especiales
Float
Integer var a = 10
var b =
-10.6
var c = 10/0
//Infinity
var d = Math.sqrt(-1) //NaN Not a Number
var a = 10
var b = -10.6
var c = 10/0 //Infinity
Strings var cadena = “Hola Mundo” var cadena = ‘Hola mundo’
typeof [variable] ;
Retorna el tipo de dato
de la variable.
Object
var persona = {
nombre: "Javier",
apellido: "Bautista",
};
Tipos de datos (II)
Boolean
true
false
null var e = null;
undefined var e; //undefined
Arreglos
var a = [];
var c = [‘Javascript’, 1, true];
var f = c.length; //Tamaño del arreglo
var g = c.pop(); //Elimina el último elemento
var h = c.push(10.5); //Agrega elemento al final
var j = c.shift(); //ELimina primer elemento
Definición
Operaciones
Operadores => Relacionales
Operadores => Aritméticos
+
-
*
**
/
%
var a = -2
var b = 3
console.log(a+b);
console.log(a-b);
console.log(a*b);
console.log(a**b);
console.log(a/b);
console.log(a%b);
==
!=
<
<=
>
>=
var a = -2
var b = 3
console.log(a==b);
console.log(a!=b);
console.log(a<b);
console.log(a<=b);
console.log(a>b);
console.log(a>=b);
Operadores => Asignación
Operadores => Lógicos
=
+=
-=
var i = 0
var j = 10
while(i != j){
i+=1
j-=1
console.log(‘i = ’+i)
console.log(‘j = ’ + j)
}
&&
||
!
var a = true
var b = false
if(a && b){
console.log(“No”);
}
if(a || b){
console.log(“Ok”);
}
if(!b){
console.log(“No”);
}
Control de flujo -> Condiciones
if([condición]){
[sentencia]
}
else{
[sentencia]
}
var a = 23;
var b = 10;
if(a < b){
console.log(a + ”es menor que” + b)
}
else{
console.log(a + ”es mayor que” + b)
}
switch(variable){
case 1:
[sentencia]
break;
case 2:
[sentencia]
break;
.
.
default:
[sentencia]
}
var opcion = 2;
switch(opcion){
case 1:
console.log(‘Opción 1 elegida’);
case 2:
console.log(‘Opción 2 elegida’);
default:
console.log(‘Opción no válida’);
break;
}
Control de flujo -> Bucles
for(var i=0;i<=10;i++){
console.log(i);
}
var cont = 0
while(cont <= 10){
console.log(cont);
cont++;
}
var cont = 10;
do{
console.log(cont);
}while(--cont>=0);
DOM -> Document Object Model (I)
<!DOCTYPE html>
<html>
<head>
<title>MY TITLE</title>
</head>
<body>
<div>
<h1></h1>
<p>
<a></a>
</p>
</div>
</body>
</html>
DOM -> Document Object Model (II)
Acceso a nodos
getElementsByTagName()
getElementsByName()
getElementsById()
var elements = document.getElementsByTagName(‘div’);
var elements = document.getElementsByName(‘nombre’);
var elements = document.getElementsById(‘logo’);
DOM -> Document Object Model (III)
Otras acciones
createElement(etiqueta)
createTextNode(contenido)
appendChild(nodo)
var label = document.createElement(‘label’);
var contenido = document.createTextNode(“Hola mundo”);
label.appendChild(contenido);
document.body.appendChild(label);
querySelector(selector) var element = document.querySelector(‘form .nombre’);
Eventos
onclick
onkeypress
onfocus
onload
onkeydown
onmouseover
Ejercicio: Colores
var label = document.querySelectorAll(‘label’);
label.onclick = function(){console.log(‘Click en label’)};
Funciones
var nombreFuncion = function(param1, param2){
[sentencia];
[sentencia];
return valor;
}
Funciones -> Callback
function miFuncion (param1, callback){
[sentencia]
callback();
}
miFuncion(‘arg1’, function(){
[sentencia]
});
function miFuncion (param1, callback){
var nombre = ‘Sandra’;
callback();
}
miFuncion(‘Javier’, function(){
console.log(‘Hola por segunda vez’ +
nombre);
});
Scope
function sumar(a,b) {
var suma = a + b;
}
sumar(1,2);
console.log(suma);
var suma = 0;
function sumar(a,b){
suma = a + b
}
sumar(1,2);
console.log(suma);
function sumar(a,b){
suma = a + b;
}
sumar(1,2);
console.log(suma);
(I)
(II)
(II)
Funciones -> Closures y funciones anónimas
function iniciarSaludo(){
var nombre = “Dany”;
function saludar(){
console.log(nombre);
}
saludar();
}
iniciarSaludo();
function addHandler(){
var clickHandler = function(){
this.style.background = ‘red’;
};
(function(){
var elemento = document.getElementById(‘el’);
elemento.onclick = clickHandler;
})();
}
(I) (II)
jQuery
$("#boton").on("click",function(){
$(".cuadro").show();
});
$.ajax({
url: "/datos/archivo.php",
method: ‘POST’,
data: {
nombre: $(".nombre").val()
},
success: function(data) {
$("#temporal").html("<span>"+data+"</span>");
}
});
Ejercicio 1: Colores
Ejercicio 2: Google maps
Ejercicio 3: Send Data (AJAX)
Ejercicio: Colores (sin jQuery)
Herramienta: http://jsfiddle.net/
Ejercicio: Colores (con jQuery)
Herramienta: http://jsfiddle.net/
Ejercicio: Google Maps
Herramienta: www.jsbin.com
Ejercicio: Send Data (AJAX)
Herramienta: Cualquier IDE
Referencias
● https://developer.mozilla.org/es/docs/Web/JavaScript
● https://jsfiddle.net/
● https://jsbin.com
● https://jquery.com/
● http://javascriptweekly.com/
Gracias
Javascript 101

Más contenido relacionado

Similar a Javascript 101

Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLLorena Fernández
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...Victor Asanza
 
Seguridad en Tryton
Seguridad en TrytonSeguridad en Tryton
Seguridad en TrytonNaN-tic
 
Conaprole: Migrando KBs de gran porte
Conaprole: Migrando KBs de gran porteConaprole: Migrando KBs de gran porte
Conaprole: Migrando KBs de gran porteGeneXus
 
Estructura del Registro de Windows
Estructura del Registro de WindowsEstructura del Registro de Windows
Estructura del Registro de WindowsAdrián Lois
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoSpanishPASSVC
 
Web Log Analysis - AWK
Web Log Analysis - AWKWeb Log Analysis - AWK
Web Log Analysis - AWKJuan Azcurra
 
Curso de Spring: Transacciones
Curso de Spring: TransaccionesCurso de Spring: Transacciones
Curso de Spring: TransaccionesJano González
 
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]RootedCON
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesosECCI
 
Escalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEscalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEduardo Castro
 
INTRODUCCION javascript.ppt
INTRODUCCION javascript.pptINTRODUCCION javascript.ppt
INTRODUCCION javascript.pptSandraAlfonso18
 
javascript una introduccion para principiantes
javascript una introduccion para principiantesjavascript una introduccion para principiantes
javascript una introduccion para principiantesJaime Sayago Heredia
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NETbrobelo
 

Similar a Javascript 101 (20)

S2-PD2.pptx
S2-PD2.pptxS2-PD2.pptx
S2-PD2.pptx
 
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, LECCIÓN 1 RESUELTA 2do PARCIAL (2019 2do ...
 
Seguridad en Tryton
Seguridad en TrytonSeguridad en Tryton
Seguridad en Tryton
 
SQL Monitoring
SQL MonitoringSQL Monitoring
SQL Monitoring
 
Conaprole: Migrando KBs de gran porte
Conaprole: Migrando KBs de gran porteConaprole: Migrando KBs de gran porte
Conaprole: Migrando KBs de gran porte
 
Estructura del Registro de Windows
Estructura del Registro de WindowsEstructura del Registro de Windows
Estructura del Registro de Windows
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreo
 
Web Log Analysis - AWK
Web Log Analysis - AWKWeb Log Analysis - AWK
Web Log Analysis - AWK
 
Curso de Spring: Transacciones
Curso de Spring: TransaccionesCurso de Spring: Transacciones
Curso de Spring: Transacciones
 
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
David Meléndez Cano - Trash Robotic Router Platform (TRRP) [Rooted CON 2013]
 
Mrtg ubuntu
Mrtg ubuntuMrtg ubuntu
Mrtg ubuntu
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
 
Proyecto de Grado
Proyecto de GradoProyecto de Grado
Proyecto de Grado
 
Build and deploy
Build and deploy Build and deploy
Build and deploy
 
Escalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scaleEscalabilidad en azure sql database con elastic scale
Escalabilidad en azure sql database con elastic scale
 
INTRODUCCION javascript.ppt
INTRODUCCION javascript.pptINTRODUCCION javascript.ppt
INTRODUCCION javascript.ppt
 
javascript una introduccion para principiantes
javascript una introduccion para principiantesjavascript una introduccion para principiantes
javascript una introduccion para principiantes
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NET
 

Más de RedRITA

Propuesta en Gestión de Proyectos y Análisis de Negocios
 Propuesta en Gestión de Proyectos y Análisis de Negocios Propuesta en Gestión de Proyectos y Análisis de Negocios
Propuesta en Gestión de Proyectos y Análisis de NegociosRedRITA
 
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...RedRITA
 
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...RedRITA
 
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...RedRITA
 
Gestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión NacionalGestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión NacionalRedRITA
 
Acreditación Institucional
Acreditación InstitucionalAcreditación Institucional
Acreditación InstitucionalRedRITA
 
Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-RedRITA
 
Python 101
Python 101Python 101
Python 101RedRITA
 

Más de RedRITA (8)

Propuesta en Gestión de Proyectos y Análisis de Negocios
 Propuesta en Gestión de Proyectos y Análisis de Negocios Propuesta en Gestión de Proyectos y Análisis de Negocios
Propuesta en Gestión de Proyectos y Análisis de Negocios
 
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
El poder de la Gestión de Proyectos y su aporte al desarrollo del país: PMI, ...
 
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
Contexto académico nacional e internacional de la Gestión de Proyectos a nive...
 
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
Futuro de las TIC y Oportunidades en la Gestión de Proyectos para Empresarios...
 
Gestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión NacionalGestión de Proyectos de Inversión Nacional
Gestión de Proyectos de Inversión Nacional
 
Acreditación Institucional
Acreditación InstitucionalAcreditación Institucional
Acreditación Institucional
 
Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-Diseño de Políticas y Desarrollo TI -FiTi-
Diseño de Políticas y Desarrollo TI -FiTi-
 
Python 101
Python 101Python 101
Python 101
 

Último

Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdfFernandaGarca788912
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdfFlorenciopeaortiz
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacajeremiasnifla
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptxguillermosantana15
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)ssuser563c56
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamientoRobertoAlejandroCast6
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTGestorManpower
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMarceloQuisbert6
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfedsonzav8
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxSergioGJimenezMorean
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfMikkaelNicolae
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVSebastianPaez47
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUMarcosAlvarezSalinas
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptxGARCIARAMIREZCESAR
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptEduardoCorado
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...SuannNeyraChongShing
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfrolandolazartep
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfDanielaVelasquez553560
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones025ca20
 

Último (20)

Curso intensivo de soldadura electrónica en pdf
Curso intensivo de soldadura electrónica  en pdfCurso intensivo de soldadura electrónica  en pdf
Curso intensivo de soldadura electrónica en pdf
 
estadisticasII Metodo-de-la-gran-M.pdf
estadisticasII   Metodo-de-la-gran-M.pdfestadisticasII   Metodo-de-la-gran-M.pdf
estadisticasII Metodo-de-la-gran-M.pdf
 
Reporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpacaReporte de Exportaciones de Fibra de alpaca
Reporte de Exportaciones de Fibra de alpaca
 
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
¿QUE SON LOS AGENTES FISICOS Y QUE CUIDADOS TENER.pptx
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa  tipos y funcionamientoCaldera Recuperadora de químicos en celulosa  tipos y funcionamiento
Caldera Recuperadora de químicos en celulosa tipos y funcionamiento
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
SSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SSTSSOMA, seguridad y salud ocupacional. SST
SSOMA, seguridad y salud ocupacional. SST
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Manual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdfManual_Identificación_Geoformas_140627.pdf
Manual_Identificación_Geoformas_140627.pdf
 
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptxPPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
PPT SERVIDOR ESCUELA PERU EDUCA LINUX v7.pptx
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kVEl proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
El proyecto “ITC SE Lambayeque Norte 220 kV con seccionamiento de la LT 220 kV
 
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERUSesion 02 Patentes REGISTRO EN INDECOPI PERU
Sesion 02 Patentes REGISTRO EN INDECOPI PERU
 
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
4.6 DEFINICION DEL PROBLEMA DE ASIGNACION.pptx
 
Introducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.pptIntroducción a los sistemas neumaticos.ppt
Introducción a los sistemas neumaticos.ppt
 
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
Polimeros.LAS REACCIONES DE POLIMERIZACION QUE ES COMO EN QUIMICA LLAMAMOS A ...
 
Linealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdfLinealización de sistemas no lineales.pdf
Linealización de sistemas no lineales.pdf
 
clases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdfclases de dinamica ejercicios preuniversitarios.pdf
clases de dinamica ejercicios preuniversitarios.pdf
 
Propositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicacionesPropositos del comportamiento de fases y aplicaciones
Propositos del comportamiento de fases y aplicaciones
 

Javascript 101

  • 1. Red de Investigaciones de Tecnología Avanzada Universidad Distrital Francisco José de Caldas
  • 2. Javascript 101 ● Historia ● Características ● Motores ● Aplicaciones ● Herramientas ● Sintaxis ● Tipos de datos ● Operadores ● Control de flujo ○ Condiciones ○ Bucles ● Funciones ○ Callbacks ○ Closures ○ Scope ● DOM (Document Object Model) ● Eventos ● jQuery
  • 4. Características ● Lenguaje de interpretado ● Débilmente tipado ● Multiparadigma ● Cuenta con funciones first-class ● Basado en prototipos
  • 8. Sintaxis (I) ● Sensible a Mayúsculas y minúsculas ● Cada instrucción termina con ; ● Los bloques de código están delimitados por { } ● Comentarios para múltiples líneas /* */ ● Comentario de una línea //
  • 9. <!DOCTYPE html> <html> <head> <script src="script1.js"></script> <script> // código </script> </head> <body> <script src="script2.js"></script> </body> </html> Sintaxis (II) -------------------- ------------ --------------------- -------------------- ---------------------- ------------------------ --------------------- --------- script1.js
  • 10. Tipos de datos (I) Números Especiales Float Integer var a = 10 var b = -10.6 var c = 10/0 //Infinity var d = Math.sqrt(-1) //NaN Not a Number var a = 10 var b = -10.6 var c = 10/0 //Infinity Strings var cadena = “Hola Mundo” var cadena = ‘Hola mundo’ typeof [variable] ; Retorna el tipo de dato de la variable. Object var persona = { nombre: "Javier", apellido: "Bautista", };
  • 11. Tipos de datos (II) Boolean true false null var e = null; undefined var e; //undefined Arreglos var a = []; var c = [‘Javascript’, 1, true]; var f = c.length; //Tamaño del arreglo var g = c.pop(); //Elimina el último elemento var h = c.push(10.5); //Agrega elemento al final var j = c.shift(); //ELimina primer elemento Definición Operaciones
  • 12. Operadores => Relacionales Operadores => Aritméticos + - * ** / % var a = -2 var b = 3 console.log(a+b); console.log(a-b); console.log(a*b); console.log(a**b); console.log(a/b); console.log(a%b); == != < <= > >= var a = -2 var b = 3 console.log(a==b); console.log(a!=b); console.log(a<b); console.log(a<=b); console.log(a>b); console.log(a>=b);
  • 13. Operadores => Asignación Operadores => Lógicos = += -= var i = 0 var j = 10 while(i != j){ i+=1 j-=1 console.log(‘i = ’+i) console.log(‘j = ’ + j) } && || ! var a = true var b = false if(a && b){ console.log(“No”); } if(a || b){ console.log(“Ok”); } if(!b){ console.log(“No”); }
  • 14. Control de flujo -> Condiciones if([condición]){ [sentencia] } else{ [sentencia] } var a = 23; var b = 10; if(a < b){ console.log(a + ”es menor que” + b) } else{ console.log(a + ”es mayor que” + b) } switch(variable){ case 1: [sentencia] break; case 2: [sentencia] break; . . default: [sentencia] } var opcion = 2; switch(opcion){ case 1: console.log(‘Opción 1 elegida’); case 2: console.log(‘Opción 2 elegida’); default: console.log(‘Opción no válida’); break; }
  • 15. Control de flujo -> Bucles for(var i=0;i<=10;i++){ console.log(i); } var cont = 0 while(cont <= 10){ console.log(cont); cont++; } var cont = 10; do{ console.log(cont); }while(--cont>=0);
  • 16. DOM -> Document Object Model (I) <!DOCTYPE html> <html> <head> <title>MY TITLE</title> </head> <body> <div> <h1></h1> <p> <a></a> </p> </div> </body> </html>
  • 17. DOM -> Document Object Model (II) Acceso a nodos getElementsByTagName() getElementsByName() getElementsById() var elements = document.getElementsByTagName(‘div’); var elements = document.getElementsByName(‘nombre’); var elements = document.getElementsById(‘logo’);
  • 18. DOM -> Document Object Model (III) Otras acciones createElement(etiqueta) createTextNode(contenido) appendChild(nodo) var label = document.createElement(‘label’); var contenido = document.createTextNode(“Hola mundo”); label.appendChild(contenido); document.body.appendChild(label); querySelector(selector) var element = document.querySelector(‘form .nombre’);
  • 19. Eventos onclick onkeypress onfocus onload onkeydown onmouseover Ejercicio: Colores var label = document.querySelectorAll(‘label’); label.onclick = function(){console.log(‘Click en label’)};
  • 20. Funciones var nombreFuncion = function(param1, param2){ [sentencia]; [sentencia]; return valor; } Funciones -> Callback function miFuncion (param1, callback){ [sentencia] callback(); } miFuncion(‘arg1’, function(){ [sentencia] }); function miFuncion (param1, callback){ var nombre = ‘Sandra’; callback(); } miFuncion(‘Javier’, function(){ console.log(‘Hola por segunda vez’ + nombre); });
  • 21. Scope function sumar(a,b) { var suma = a + b; } sumar(1,2); console.log(suma); var suma = 0; function sumar(a,b){ suma = a + b } sumar(1,2); console.log(suma); function sumar(a,b){ suma = a + b; } sumar(1,2); console.log(suma); (I) (II) (II)
  • 22. Funciones -> Closures y funciones anónimas function iniciarSaludo(){ var nombre = “Dany”; function saludar(){ console.log(nombre); } saludar(); } iniciarSaludo(); function addHandler(){ var clickHandler = function(){ this.style.background = ‘red’; }; (function(){ var elemento = document.getElementById(‘el’); elemento.onclick = clickHandler; })(); } (I) (II)
  • 23. jQuery $("#boton").on("click",function(){ $(".cuadro").show(); }); $.ajax({ url: "/datos/archivo.php", method: ‘POST’, data: { nombre: $(".nombre").val() }, success: function(data) { $("#temporal").html("<span>"+data+"</span>"); } }); Ejercicio 1: Colores Ejercicio 2: Google maps Ejercicio 3: Send Data (AJAX)
  • 24. Ejercicio: Colores (sin jQuery) Herramienta: http://jsfiddle.net/
  • 25. Ejercicio: Colores (con jQuery) Herramienta: http://jsfiddle.net/
  • 27. Ejercicio: Send Data (AJAX) Herramienta: Cualquier IDE
  • 28. Referencias ● https://developer.mozilla.org/es/docs/Web/JavaScript ● https://jsfiddle.net/ ● https://jsbin.com ● https://jquery.com/ ● http://javascriptweekly.com/