SlideShare una empresa de Scribd logo
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

S2-PD2.pptx
S2-PD2.pptxS2-PD2.pptx
Escalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQLEscalabilidad - Apache y MySQL
Escalabilidad - Apache y MySQL
Lorena 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 Tryton
NaN-tic
 
SQL Monitoring
SQL MonitoringSQL Monitoring
SQL Monitoring
SpanishPASSVC
 
Conaprole: Migrando KBs de gran porte
Conaprole: Migrando KBs de gran porteConaprole: Migrando KBs de gran porte
Conaprole: Migrando KBs de gran porte
GeneXus
 
Estructura del Registro de Windows
Estructura del Registro de WindowsEstructura del Registro de Windows
Estructura del Registro de Windows
Adrián Lois
 
Tecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreoTecnicas avanzadas de monitoreo
Tecnicas avanzadas de monitoreo
SpanishPASSVC
 
Web Log Analysis - AWK
Web Log Analysis - AWKWeb Log Analysis - AWK
Web Log Analysis - AWK
Juan Azcurra
 
Curso de Spring: Transacciones
Curso de Spring: TransaccionesCurso de Spring: Transacciones
Curso de Spring: Transacciones
Jano 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
 
Mrtg ubuntu
Mrtg ubuntuMrtg ubuntu
Mrtg ubuntu
Cheli Hedz
 
Bd no sql tecnicas2
Bd no sql tecnicas2Bd no sql tecnicas2
Bd no sql tecnicas2
Escuela de Computación UCV
 
Descripcion y control de procesos
Descripcion y control de procesosDescripcion y control de procesos
Descripcion y control de procesos
ECCI
 
Proyecto de Grado
Proyecto de GradoProyecto de Grado
Proyecto de Grado
Pablo Zincarini
 
Build and deploy
Build and deploy Build and deploy
Build and deploy
Enrique Almeida
 
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
Eduardo Castro
 
INTRODUCCION javascript.ppt
INTRODUCCION javascript.pptINTRODUCCION javascript.ppt
INTRODUCCION javascript.ppt
SandraAlfonso18
 
javascript una introduccion para principiantes
javascript una introduccion para principiantesjavascript una introduccion para principiantes
javascript una introduccion para principiantes
Jaime Sayago Heredia
 
Estructuras de Lenguaje .NET
Estructuras de Lenguaje .NETEstructuras de Lenguaje .NET
Estructuras de Lenguaje .NET
brobelo
 

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 Negocios
RedRITA
 
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 Nacional
RedRITA
 
Acreditación Institucional
Acreditación InstitucionalAcreditación Institucional
Acreditación Institucional
RedRITA
 
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 101
RedRITA
 

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

INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
LuzdeFatimaCarranzaG
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granularesMECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
Fernando878837
 
Clase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de faseClase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de fase
EmilyLloydCerda
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
raul958375
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
elsanti003
 
Medicion-Del-Agua-de-Riego-Aforo 2023.pptx
Medicion-Del-Agua-de-Riego-Aforo 2023.pptxMedicion-Del-Agua-de-Riego-Aforo 2023.pptx
Medicion-Del-Agua-de-Riego-Aforo 2023.pptx
MONICADELROCIOMUNZON1
 
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdfGRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
Jose Calderas
 
Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....
lawjose243
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
MaraManuelaUrribarri
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
FernandoRodrigoEscal
 
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdfOPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
AlejandroContreras470286
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
FantasticVideo1
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
jahirrtorresa
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
DanielMelndez19
 
Cuadro sinoptico de clasificacion de las industrias.pdf
Cuadro sinoptico de clasificacion de las industrias.pdfCuadro sinoptico de clasificacion de las industrias.pdf
Cuadro sinoptico de clasificacion de las industrias.pdf
LizetGuadalupeHernan
 
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptxEquipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
angiepalacios6170
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
pipex55
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
JaimmsArthur
 

Último (20)

INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docxINFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
INFORME DE LABORATORIO MECANICA DE FLUIDOS (1).docx
 
1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granularesMECÁNICA DE SUELOS I - Comportamiento suelos granulares
MECÁNICA DE SUELOS I - Comportamiento suelos granulares
 
Clase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de faseClase de termodinamica sobre cabios de fase
Clase de termodinamica sobre cabios de fase
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
 
Medicion-Del-Agua-de-Riego-Aforo 2023.pptx
Medicion-Del-Agua-de-Riego-Aforo 2023.pptxMedicion-Del-Agua-de-Riego-Aforo 2023.pptx
Medicion-Del-Agua-de-Riego-Aforo 2023.pptx
 
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdfGRAFICAS AÑOSsssssssss (2022 - 2023).pdf
GRAFICAS AÑOSsssssssss (2022 - 2023).pdf
 
Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....Taller de Robots Velocistas2 esquema....
Taller de Robots Velocistas2 esquema....
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
 
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptxINVENTARIO CEROO Y DINAMICAA FABRIL.pptx
INVENTARIO CEROO Y DINAMICAA FABRIL.pptx
 
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdfOPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
OPERACIONPLANTA_CLASE14_CLASE15_BOMBAS_FLOTACIONSELECTIVA.pdf
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024Sesión 03 universidad cesar vallejo 2024
Sesión 03 universidad cesar vallejo 2024
 
Infografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdfInfografía de operaciones básicas....pdf
Infografía de operaciones básicas....pdf
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
 
Cuadro sinoptico de clasificacion de las industrias.pdf
Cuadro sinoptico de clasificacion de las industrias.pdfCuadro sinoptico de clasificacion de las industrias.pdf
Cuadro sinoptico de clasificacion de las industrias.pdf
 
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptxEquipo 4. Mezclado de Polímeros quimica de polimeros.pptx
Equipo 4. Mezclado de Polímeros quimica de polimeros.pptx
 
Dosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizadaDosificacion de hormigon NCH 170 actualizada
Dosificacion de hormigon NCH 170 actualizada
 
INGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completaINGLES_LISTA_DE_VOCABULARIO una lista completa
INGLES_LISTA_DE_VOCABULARIO una lista completa
 

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/