SlideShare una empresa de Scribd logo
1 de 32
JavaScript
Contenido 
• Versiones. 
• Repaso: Case Sensitivity. WhiteSpace & LineBreaks. 
Optional semicolons. Comments. Literales. 
Identificadores Variables. Variable Scope. Palabras 
reservadas. Operadores. Void. Try Catch Finally. 
With. Objects. Arrays. Eventos, Input, Objects: DOM. 
• Ejercicios-ejemplos.
JavaScript 
• JavaScript: 
Es un lenguaje imperativo, estructurado e 
interpretado con capacidad de implementar 
objetos (Orientado a Objetos).
JavaScript – Historia 
• Creado (1995) como Mocha por NetScape (Brendan 
Eich). 
• Mocha -> LiveScript -> JavaScript. 
• 1995 Netscape 2.0 incorpora soporte Java y renombra 
LiveScript a JavaScript (objetivo comercial). 
• Microsoft JScript. IE 1996. IE 3.0. 
• W3C: DOM – Especificación JavaScript. 
• IE 6.0 – NetScape – Opera v7 – Mozilla v1. 
• 1997 JavaScript como standard de ECMA: ECMAScript. 
• JavaScript: marca registrada por Oracle.
JavaScript - Actores
JavaScript Versiones 
• JavaScript se encuentra oficialmente bajo la 
organización Mozilla Foundation 
• El último standard de ECMA es el ECMA-262 
de Junio de 2011. 
• La última versión del lenguaje JavaScript 1.8.5 
del año 2011. 
• Nuevas características del lenguaje son 
añadidas periódicamente.
Repasando 
• Case Sensitive 
Palabras reservadas en minúsculas siempre. 
Online ONLINE online onLine 4 variables distintas 
HTML no es CS valores atributos pueden 
confundirnos: onClick()
Repasando 
• Espacios y saltos de línea 
JavaScript ignora espacios, tabulaciones y 
saltos de línea entre tokens del lenguaje. 
Una sola restricción: punto y coma.
Repasando 
• Separar instrucciones: punto y coma. 
Opcional pero la siguiente instrucción debe 
seguir en la siguiente línea (salto línea 
obligatorio)
Repasando 
• Comentarios 
// comentario para una sola línea 
/* Comentario 
* para 
* 
* varias líneas 
*/
Repasando 
• Literal: un valor 
12 // número doce 
1.2 // número 
“hola” //string 
‘hola’ //string 
true // booleano 
/javascript/gi //expresión regular 
null // objeto ausencia
Repasando 
• Identificadores para variables/funciones/label 
Los identificadores se utilizan para dar nombre a 
variables, funciones y etiquetas. 
El primer carácter debe ser una letra, un guión bajo o 
el signo $ y a continuación cualquier combinación de 
estos más números. 
No pueden ser palabras reservadas.
Repasando 
• Variables 
Se declaran con var 
Múltiple declaración en una misma línea separar 
con comas: var a, b=0, c=1; 
Scope: alcance de definición de la variable.
Variables Scope 
• Las variables son válidas dentro del módulo 
donde se las declara. 
• Una variable global tiene scope global, puede 
estar definida en cualquier lugar dentro del 
script. 
• Las variables locales son las definidas dentro 
de funciones. Tienen scope (local) dentro de la 
misma función.
Variable Scope 
var scope = “global”; //Define una variable global 
function checkscope() { 
var scope = “local”; //Define una local 
document.write(scope); //Usa la variable local 
} 
checkscope(); //Imprime “local”
Variable Scope 
Se puede omitir var y definir una variable 
globalemente: 
scope = “global”; 
Pero las variables locales deben definirse 
siempre con var
Variable Scope 
scope = “global”; //Define una variable global 
function checkscope() { 
scope = “local”; //Cambia el valor de la global 
document.write(scope); //Utiliza la variable global 
myscope = “local”; //Define variable global 
document.write(myscope); //Usa la variable global 
} 
checkscope(); //Imprime “locallocal” 
document.write(scope); //Imprime “local” 
document.write(myscope); //Imprime “local”
Variable Scope 
• Los parámetros de funciones son variables 
locales. 
• Las funciones no saben que variables están 
definidas como globales: definir todas con var 
• Precedencia de Variables: 
– Las variables locales preceden a las globales.
Variable Scope 
var scope = “global”; // variable global 
function checkscope() { 
var scope = “local”; // variable local 
function nested() { 
var scope = “nested”; // variable local (otra) 
document.write(scope); // “nested” 
} 
nested(); 
} 
checkscope();
Variable Scope 
No hay scope en bloque: todas las variables definidas 
dentro de una función, no importa donde estén 
declaradas, tienen alcance dentro de la función. 
function test(o) { 
var i=0; 
if (typeof o == ‘object’) { 
var j=0; 
for (var k=0; k<10; k++) { 
document.write(k); // 0,1,…,9 
} 
document.write(k); // 10 
} 
document.write(j); // 0 o undefined 
}
Variable Scope 
var scope = “global”; 
function f() { 
alert(scope); // undefined 
var scope = “local”; 
alert(scope); // local 
} 
f();
Undefined 
Existen 2 tipos de variables “undefined” 
Undefined porque no tienen valor asignado 
Undefined porque no han sido aún definidas, 
estas incurren en runtime error 
var x; // está definida pero sin valor 
alert(x); // undefined 
alert(u); // Uncaught ReferenceError: u is not defined
Null 
• Null es un valor especial que indica “sin valor”. 
 Cuando una variable contiene el valor “null” significa que 
la misma no contiene un valor válido para un objeto, array, 
número, cadena o lógico. 
 En un contexto boolean, null se trata como false. 
 En un contexto numérico, null se trata como 0. 
 En un contexto string, null se trata como “null”.
Conversión de Tipos 
Contexto String Number Boolean Object 
Valor 
undefined “undefined” NaN false Error 
null “null” 0 false Error 
Cadena Cadena “numero” / NaN true Objeto cadena 
Cadena vacía Cadena 0 false Objeto cadena 
0 “0” Número false Objeto número 
NaN “NaN” NaN false Objeto número
Palabras Reservadas 
break do if switch typeof 
case else in this var 
catch false instanceof throw void 
continue finally new true while 
default for null try with 
delete function return
Operadores typeof 
• typeof: es un operador unario que determina 
el tipo de operando. 
– Evalúa a: number, string y boolean. 
– Evalúa a object para arreglos, objetos y null. 
– Evalúa a function para funciones. 
– Evalúa a undefined operandos indefinidos.
Operadores instanceof 
• instanceof: determina si un objeto es una 
instancia de una clase. 
– d instanceof Date(); // true si d tipo Date. 
– a instanceof Array; // true si a es un arreglo. 
– a instanceof Object; // true si a es un arreglo.
Continuará… 
• Void. 
• Try Catch Finally. 
• With. 
• Arreglos & Objetos. 
• Manejo HTML DOM. 
• Manejo HTML input. 
• Manejo HTML Eventos. 
• Manejo HTML Objetos.
Void 
• Operador unario 
• Descarta el tipo de su operando y devuelve 
undefined. 
Usos 
- forzar el valor undefined 
- <a href="javascript:void window.open();">Open window</a>
throw 
Se utiliza para lanzar un error. 
Un error que deba ser atrapado 
específicamente. 
Es una señal de que una condición excepcional 
ha ocurrido. 
throw new Error(‘Houston we have…’);
try catch finally 
Try { 
// sentencias [1] 
} 
catch(e){ 
// si error en [1] 
} 
finally{ 
// ejecución normal [1] 
// break/continue/return [1] 
// error capturado en catch 
// error no capturado en [1] 
// error no capturado en catch 
}
With 
• Se utiliza para alterar la cadena del scope en 
variables: 
– document.images[0].src = “imagen_1.jpg”; 
– document.images[0].width = 110; 
– document.images[0].height = 230; 
with (document.images[0]) { 
src = “imagen_1.jpg”; 
width = 110; 
height = 230; 
}

Más contenido relacionado

La actualidad más candente (20)

Java
JavaJava
Java
 
Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015Java - Sintaxis Básica 2015
Java - Sintaxis Básica 2015
 
Semana 4 Introduccion Javascript
Semana 4   Introduccion JavascriptSemana 4   Introduccion Javascript
Semana 4 Introduccion Javascript
 
Diapo04
Diapo04Diapo04
Diapo04
 
Actividad N° 7 - Unidad 4
Actividad N° 7 - Unidad 4 Actividad N° 7 - Unidad 4
Actividad N° 7 - Unidad 4
 
Semana 4 Javascript Estructura de Datos y ciclo FOR
Semana 4   Javascript Estructura de Datos y ciclo FORSemana 4   Javascript Estructura de Datos y ciclo FOR
Semana 4 Javascript Estructura de Datos y ciclo FOR
 
Ruby para Java Developers
Ruby para Java DevelopersRuby para Java Developers
Ruby para Java Developers
 
Programación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructoresProgramación Orientada a Objetos - constructores y destructores
Programación Orientada a Objetos - constructores y destructores
 
Introducción a Scala
Introducción a ScalaIntroducción a Scala
Introducción a Scala
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
Constructores en java(grupo 8)
Constructores en java(grupo 8)Constructores en java(grupo 8)
Constructores en java(grupo 8)
 
4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala4 Introducción al lenguaje Scala
4 Introducción al lenguaje Scala
 
Curso Swift
Curso SwiftCurso Swift
Curso Swift
 
Java script operaciones
Java script operacionesJava script operaciones
Java script operaciones
 
Introduccion
IntroduccionIntroduccion
Introduccion
 
Comenzando a programar
Comenzando a programarComenzando a programar
Comenzando a programar
 
Operadores C SHARP
Operadores C SHARPOperadores C SHARP
Operadores C SHARP
 
Las estructuras de control
Las estructuras de controlLas estructuras de control
Las estructuras de control
 
TypeScript
TypeScriptTypeScript
TypeScript
 

Similar a Javascript continuación

Similar a Javascript continuación (20)

Javascript
JavascriptJavascript
Javascript
 
Javascript - 2014
Javascript - 2014Javascript - 2014
Javascript - 2014
 
JavaScript para Javeros. ¿Cómo ser moderno y no morir en el intento?
JavaScript para Javeros. ¿Cómo ser moderno y no morir en el intento?JavaScript para Javeros. ¿Cómo ser moderno y no morir en el intento?
JavaScript para Javeros. ¿Cómo ser moderno y no morir en el intento?
 
Programación Java
Programación JavaProgramación Java
Programación Java
 
Javascript
JavascriptJavascript
Javascript
 
JS1.pdf
JS1.pdfJS1.pdf
JS1.pdf
 
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAXJavascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
Javascript: Particularidades del Lenguaje, DOM, Eventos y AJAX
 
PHP mode on
PHP mode onPHP mode on
PHP mode on
 
Javascript
JavascriptJavascript
Javascript
 
Presentación JavaScript
Presentación JavaScriptPresentación JavaScript
Presentación JavaScript
 
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
Mejorando.la: Curso Profesional de Frontend, Dominando JavaScript
 
Javascript objetos
Javascript objetosJavascript objetos
Javascript objetos
 
Java
JavaJava
Java
 
Java
JavaJava
Java
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery03. Introduccion a JavaScript y JQuery
03. Introduccion a JavaScript y JQuery
 
javascript.ppt
javascript.pptjavascript.ppt
javascript.ppt
 
Introduccion al java script
Introduccion al java scriptIntroduccion al java script
Introduccion al java script
 
Certificación java 6 cap 3
Certificación java 6 cap 3Certificación java 6 cap 3
Certificación java 6 cap 3
 
Js control de flujo
Js control de flujoJs control de flujo
Js control de flujo
 

Último

Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAcoloncopias5
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx241518192
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfYuriFuentesMartinez2
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxNicolas Villarroel
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)BrianaFrancisco
 
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIATALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIAobandopaula444
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.ayalayenifer617
 
Medios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxMedios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxUniversidad de Bielefeld
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxmrzreyes12
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDLeslie Villar
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMLA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMalejandroortizm
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...#LatamDigital
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.Aldo Fernandez
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxchinojosa17
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfDanielaEspitiaHerrer
 

Último (17)

Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIAFisica General.pdf ESCUELA D QUIMICA E INGENIERIA
Fisica General.pdf ESCUELA D QUIMICA E INGENIERIA
 
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptxCamposGarcia_MariaMagdalena_M1S3AI6.pptx
CamposGarcia_MariaMagdalena_M1S3AI6.pptx
 
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdfFLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
FLUIDEZ-Teatro-Leido-4to-Grado-El-leon-y-el-raton- (1).pdf
 
GRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptxGRUPO 5 Software en el campo de la salud.pptx
GRUPO 5 Software en el campo de la salud.pptx
 
Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)Practica guiada Menu_ tecnología (Tic's)
Practica guiada Menu_ tecnología (Tic's)
 
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIATALLER DE ANALISIS SOLUCION DE TECNOLOGIA
TALLER DE ANALISIS SOLUCION DE TECNOLOGIA
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
El uso de las tic en la vida continúa , ambiente positivo y negativo.
El uso de las tic  en la vida continúa , ambiente positivo y negativo.El uso de las tic  en la vida continúa , ambiente positivo y negativo.
El uso de las tic en la vida continúa , ambiente positivo y negativo.
 
Medios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptxMedios Digitales Teorías y Metodologías de Análisis.pptx
Medios Digitales Teorías y Metodologías de Análisis.pptx
 
que es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptxque es Planimetría definición importancia en topografia.pptx
que es Planimetría definición importancia en topografia.pptx
 
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULDGRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
GRUPO 10 SOFTWARE DE EL CAMPO DE LA SAULD
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAMLA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
LA ETICA DEL UTILITARISMO DE JEREMY BENTHAM
 
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat  Vers...
11º Anuncio Nominados Finalistas Premios #LatamDigital 2024 by Interlat Vers...
 
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
ChatGPT Inteligencia artificial, funciones, limitaciones y ventajas.
 
Tema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptxTema 1 - Fundamentos de gestión contable.pptx
Tema 1 - Fundamentos de gestión contable.pptx
 
Software y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdfSoftware y servicios de internet mapa conceptual.pdf
Software y servicios de internet mapa conceptual.pdf
 

Javascript continuación

  • 2. Contenido • Versiones. • Repaso: Case Sensitivity. WhiteSpace & LineBreaks. Optional semicolons. Comments. Literales. Identificadores Variables. Variable Scope. Palabras reservadas. Operadores. Void. Try Catch Finally. With. Objects. Arrays. Eventos, Input, Objects: DOM. • Ejercicios-ejemplos.
  • 3. JavaScript • JavaScript: Es un lenguaje imperativo, estructurado e interpretado con capacidad de implementar objetos (Orientado a Objetos).
  • 4. JavaScript – Historia • Creado (1995) como Mocha por NetScape (Brendan Eich). • Mocha -> LiveScript -> JavaScript. • 1995 Netscape 2.0 incorpora soporte Java y renombra LiveScript a JavaScript (objetivo comercial). • Microsoft JScript. IE 1996. IE 3.0. • W3C: DOM – Especificación JavaScript. • IE 6.0 – NetScape – Opera v7 – Mozilla v1. • 1997 JavaScript como standard de ECMA: ECMAScript. • JavaScript: marca registrada por Oracle.
  • 6. JavaScript Versiones • JavaScript se encuentra oficialmente bajo la organización Mozilla Foundation • El último standard de ECMA es el ECMA-262 de Junio de 2011. • La última versión del lenguaje JavaScript 1.8.5 del año 2011. • Nuevas características del lenguaje son añadidas periódicamente.
  • 7. Repasando • Case Sensitive Palabras reservadas en minúsculas siempre. Online ONLINE online onLine 4 variables distintas HTML no es CS valores atributos pueden confundirnos: onClick()
  • 8. Repasando • Espacios y saltos de línea JavaScript ignora espacios, tabulaciones y saltos de línea entre tokens del lenguaje. Una sola restricción: punto y coma.
  • 9. Repasando • Separar instrucciones: punto y coma. Opcional pero la siguiente instrucción debe seguir en la siguiente línea (salto línea obligatorio)
  • 10. Repasando • Comentarios // comentario para una sola línea /* Comentario * para * * varias líneas */
  • 11. Repasando • Literal: un valor 12 // número doce 1.2 // número “hola” //string ‘hola’ //string true // booleano /javascript/gi //expresión regular null // objeto ausencia
  • 12. Repasando • Identificadores para variables/funciones/label Los identificadores se utilizan para dar nombre a variables, funciones y etiquetas. El primer carácter debe ser una letra, un guión bajo o el signo $ y a continuación cualquier combinación de estos más números. No pueden ser palabras reservadas.
  • 13. Repasando • Variables Se declaran con var Múltiple declaración en una misma línea separar con comas: var a, b=0, c=1; Scope: alcance de definición de la variable.
  • 14. Variables Scope • Las variables son válidas dentro del módulo donde se las declara. • Una variable global tiene scope global, puede estar definida en cualquier lugar dentro del script. • Las variables locales son las definidas dentro de funciones. Tienen scope (local) dentro de la misma función.
  • 15. Variable Scope var scope = “global”; //Define una variable global function checkscope() { var scope = “local”; //Define una local document.write(scope); //Usa la variable local } checkscope(); //Imprime “local”
  • 16. Variable Scope Se puede omitir var y definir una variable globalemente: scope = “global”; Pero las variables locales deben definirse siempre con var
  • 17. Variable Scope scope = “global”; //Define una variable global function checkscope() { scope = “local”; //Cambia el valor de la global document.write(scope); //Utiliza la variable global myscope = “local”; //Define variable global document.write(myscope); //Usa la variable global } checkscope(); //Imprime “locallocal” document.write(scope); //Imprime “local” document.write(myscope); //Imprime “local”
  • 18. Variable Scope • Los parámetros de funciones son variables locales. • Las funciones no saben que variables están definidas como globales: definir todas con var • Precedencia de Variables: – Las variables locales preceden a las globales.
  • 19. Variable Scope var scope = “global”; // variable global function checkscope() { var scope = “local”; // variable local function nested() { var scope = “nested”; // variable local (otra) document.write(scope); // “nested” } nested(); } checkscope();
  • 20. Variable Scope No hay scope en bloque: todas las variables definidas dentro de una función, no importa donde estén declaradas, tienen alcance dentro de la función. function test(o) { var i=0; if (typeof o == ‘object’) { var j=0; for (var k=0; k<10; k++) { document.write(k); // 0,1,…,9 } document.write(k); // 10 } document.write(j); // 0 o undefined }
  • 21. Variable Scope var scope = “global”; function f() { alert(scope); // undefined var scope = “local”; alert(scope); // local } f();
  • 22. Undefined Existen 2 tipos de variables “undefined” Undefined porque no tienen valor asignado Undefined porque no han sido aún definidas, estas incurren en runtime error var x; // está definida pero sin valor alert(x); // undefined alert(u); // Uncaught ReferenceError: u is not defined
  • 23. Null • Null es un valor especial que indica “sin valor”.  Cuando una variable contiene el valor “null” significa que la misma no contiene un valor válido para un objeto, array, número, cadena o lógico.  En un contexto boolean, null se trata como false.  En un contexto numérico, null se trata como 0.  En un contexto string, null se trata como “null”.
  • 24. Conversión de Tipos Contexto String Number Boolean Object Valor undefined “undefined” NaN false Error null “null” 0 false Error Cadena Cadena “numero” / NaN true Objeto cadena Cadena vacía Cadena 0 false Objeto cadena 0 “0” Número false Objeto número NaN “NaN” NaN false Objeto número
  • 25. Palabras Reservadas break do if switch typeof case else in this var catch false instanceof throw void continue finally new true while default for null try with delete function return
  • 26. Operadores typeof • typeof: es un operador unario que determina el tipo de operando. – Evalúa a: number, string y boolean. – Evalúa a object para arreglos, objetos y null. – Evalúa a function para funciones. – Evalúa a undefined operandos indefinidos.
  • 27. Operadores instanceof • instanceof: determina si un objeto es una instancia de una clase. – d instanceof Date(); // true si d tipo Date. – a instanceof Array; // true si a es un arreglo. – a instanceof Object; // true si a es un arreglo.
  • 28. Continuará… • Void. • Try Catch Finally. • With. • Arreglos & Objetos. • Manejo HTML DOM. • Manejo HTML input. • Manejo HTML Eventos. • Manejo HTML Objetos.
  • 29. Void • Operador unario • Descarta el tipo de su operando y devuelve undefined. Usos - forzar el valor undefined - <a href="javascript:void window.open();">Open window</a>
  • 30. throw Se utiliza para lanzar un error. Un error que deba ser atrapado específicamente. Es una señal de que una condición excepcional ha ocurrido. throw new Error(‘Houston we have…’);
  • 31. try catch finally Try { // sentencias [1] } catch(e){ // si error en [1] } finally{ // ejecución normal [1] // break/continue/return [1] // error capturado en catch // error no capturado en [1] // error no capturado en catch }
  • 32. With • Se utiliza para alterar la cadena del scope en variables: – document.images[0].src = “imagen_1.jpg”; – document.images[0].width = 110; – document.images[0].height = 230; with (document.images[0]) { src = “imagen_1.jpg”; width = 110; height = 230; }

Notas del editor

  1. Fuera de la función, se define a scope con el valor de global. Dentro de la función se define scope, por lo que no importa donde está el “var” que la define, scope está definida dentro de f(). El primer alert no muestra “global” como pasaría en otros lenguajes (tomando a la variable global para el alert). Como el var dentro de f() define a scope como local, scope está definida dentro de f() y oculta al valor de scope de afuera, la que vale “global”. La variable scope local a f(), no toma valor hasta que se ejecuta var…