Abrir el menú de navegación
Cerrar sugerencias
Buscar
Buscar
es
Change Language
Cambiar idioma
Cargar
Iniciar sesión
Iniciar sesión
Descargar gratis durante días
0 calificaciones
0% encontró este documento útil (0 votos)
17K vistas
22 páginas
Chuleta Javascript
chuleas y chuletas
Cargado por
Shao Kahn
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí
.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Descargar
Guardar
Guardar Chuleta Javascript para más tarde
0%
0% encontró este documento útil, undefined
0%
, undefined
Insertar
Compartir
Imprimir
Reportar
0 calificaciones
0% encontró este documento útil (0 votos)
17K vistas
22 páginas
Chuleta Javascript
chuleas y chuletas
Cargado por
Shao Kahn
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí
.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
Carrusel anterior
Carrusel siguiente
Descargar
Guardar
Guardar Chuleta Javascript para más tarde
0%
0% encontró este documento útil, undefined
0%
, undefined
Insertar
Compartir
Imprimir
Reportar
Descargar ahora
Descargar
Está en la página 1
/ 22
Buscar
pantalla completa
‘wer017 JAVASCRIPT console. 106() prompt ("introduce datos aqui") confira(*Aaceptas si o no") Javascript —brusbils alert("Ventana en 1a pantalla") 1 Comentarios de una tines 7 se. /* Comentarios multlines OPERADORES + Aritmeticos + Suma - Resta * Mutipticacion 1 Division %Modulo, lo que sobra de la division entera ‘++ Ineremento == Decremento + Asignacion + Comparacion igual igual valor ¢ igual tipo 2 igual ro igual valor ni gual tipo > mayor que ‘
= menor 9 igual que + Logicos aR AND ILor| 1NOT + Ternario condicién ? true : false var edad = 21 Var mayorEéad = (edad > 18 + Unitarios P alert("Eres mayor"): alert("Eses menor")); ‘typeof (vardablequesea) 0 typeof valor - Devuelve una string con el tiga dela variable dato ‘sypeof (undefined) // sypeot(null) uw sypeof(valor booleano) // typeot(valor nuserico) // ‘ypeot(eadena) uv typeof funcion) u typeor(atros valores) // hps:fousbils.com/chuletastrontond)s! ‘uncefined ‘object’ boolean" “number string “function” object” 22ai9)2017 Javascript — brusbils, 11 a21 devolviendo object es un bug que no se puede arreglar debido 11 @ todo el codigo ya existente que cascaria valor instanceof Constr - devuelve true sil valor ha sido creado por el constructor Constr 4) Anstanceot object // true [] instanceot object // true, Array es un subconstouctor de object pull instanceot Object /7 false Var b = new Bar(); b instanceot bars // true in Devwelve true sila propiedad especiticada existe en el objeto especificado propiedadNonbredrNunero in nonbredbjeto var trees = new Arcay("redhood", "bay", "cedar", “oak”, maple"); @ in trees; 7 true 3 in trees} 1 true 6 in trees i false bay" in trees; // false (especificar indice, no valor en ese indice length” in trees; // true (length is una propiedad de Array) VARIABLES NOMBRE DESCRIPCIONarerderpograrar com sung Cadonasderem Nee Volcan pos Prnarivos: ecnan nde ofa at ‘eo enact cotone ncered Tin espacal canine wdetres a cus) “105 DE DATOS EN ‘he pine | agtay(eeesnes ees) JAVASCRIPT reso eee ro (a6 sro ‘tonsdeinds poe { Frsones ros pareincee |) Ged ‘TPs OBsETO ‘Sav de somertos 0 Are 9) atte coredearomes Un woes ogeo get En javascript las variables no tienen tipos, son los valores quienes tienen tipos + Las variables se pasan siempre por valor, pro cuando una variable se refiere a un objeto (incluyendo arrays) ese valor es una referencia al objeto + Asi cambiar el valor de la variable no cambia el objeto 0 valor primitive subyacente, solo apunta la variable a una nueva primitiva u objeto + Al cambiar una propiedad de un objeto referenciado por una variable cambia el objeto que subyacente Aleance hps:tousbilis.com/chuletastontond!s! 2122ai9)2017 Javascript — brusbils, La visibldad es hacia fuera en las funciones, Yo veo las variables de las funciones externas que me contisnen pero no veo las de dentro + Global - Declarada fuera de una funcion var cartiane = ‘volvo"s 77 codigo. aqui puece sar carNane ‘unetion nyFunction() { 71 codigo aqui puece usar carwane ? - Siasigno un valor a una variable no declarada, esta se convierte en global UF codigo aqui puede usar carNane ‘Funetion myFunction() { ‘carNane »"volve" 5 17 codigo aqui puede usar cartane ? - Shadowing var carwane = ‘yolvo's Function myFunction().{ Var carnane = "seat Console. log(carNane); // seat, 1a var local oculta a 1a global ? + Local Variables declaradas dentro de una funcion permanecen locales a esa funcion 11 codigo aqus NO puede usar carnane ‘Funetion nyFunctlon() { ‘var carwane = "volvo"; 11 codigo aqut puede tsar carane ) + Hoisting Significa mover al comienzo del alcance o rango de vision (scope) ‘Todas las declaraciones de variables son hoisted (levantadas) - La declaracion se mueve al comienzo de la funcion aunque la asignacion permanece donde estan funetion foo () { ‘Console.log(tap); // undefined en vez de cascar par top 4s not defined if (False) { var tmp = 35 // aqui no entra } 11 es por el hofsted que hace que la funcion se ejecute asi ‘Funetion f00() { Var tap; // hoisted declaration , aqui se hace 1a declaracion console. 1og(tap); iF (false) ( ‘tap '= 33 // aqui permanece 23 asignacion ? ? Conversion de tipos Nueber(string) ~ Convierte cadena string en un numero parseint (string) - Convierte la cadena string en un numero entero parseFloat (string) - Convierte la cadena string en un numero flotante String(nunero) - Convierte el numero en una sting hps:tousbilis.com/chuletastontond!s! a2ai9)2017 Javascript — brusbils, rurero.tostring() - equivale a String(numera) y devuelve una string Array. toString() - convierte un array en una string con los elamentas soparados por una coma NUMEROS Intemamente son un numero flotante de 64 bits NaN (Not 2 number’) -no equivale a ningun valor ni siquiera a el mismo Infinity - es mayor que cualquier otro numero (excepto NaN) y es menor que cualquier numero (excepto NaN). util como valores por defecto para buscar minimos y maximos + Metodos 4isNan(numero) - Detecta si es numero 0 no runero.toFixed(n) - Redondea a n decimales (devuelve una string) rnurero.toPrecision(n) - Redondea an digitos decimales incluidos (devuelve una string) rurero.tofxponential(n) - Representa el numero en notacion exponencial (devuelve una string) rnunero.tostring()- equivale a String(aunero) y devuelve una string STRING Puede estar entre comrillas simples 0 comillas dobles Las cadenas tienen un propiedad length. "cadena" length Las cadenas son inmutables. no se pueden cambiar pero si crear nuevas Para escapar caracteres usamos \ \n nueva linea por ejemplo Metodos parsernt (string) - Convierte la cadena string en un numero String. froncharCode() - Convierte un codigo de letra en una cadena con la letra var codigo = 655 Var letra = String. froncharCode(codigo); _// letra = “A ‘string. charAt(pos) - Devuelve Ia letra en la posicion pos var name = “Curty's var initial = nanescharat(2); Uy Apstian is °C string. charCodeAt(pos) - Devuelve el codigo de la letra en la posicion pos var name = “curty's Var initial = nane:charcodett(@); // initial is 67 string.concat(stri, str2, ...) -Junta los strings. Mejor usar + ceoneat('3", "25 IDs es "cat string. indexOF(cadenaBuscada, pos) - Busca una cadenaBuscada en a string y sila encuentra devuelve la posicion del primer ccracter, sino devuelve -1 El parametro opcional pos indica a partir de donde buscar var text = ‘Mississippi; Var p= texts andexoF('ss)5 Wpesz pie text.indenor(es', 3 Wp es 5 ext sindexOF('S5") 6): pes string. lastIndexoF(cadenaBuscada, pos) - Como indexOf pero busca desde atras hacia adelante UI returns 3 11 returns 1 11 returns = hps:tousbils.com/chuletastrntendls! 422ai9)2017 Javascript — brusbils, string. replace(valorbuscado, valortuevo) - Reemplaza el valorBuscado por el valorNuevo solo una ver salvo que el valorBuscado sea una expresion regular var str = “Visite mi casas var res = strereplace("casa", “huerta"); // "Visita mi huerta string. search(regexp) - Busca una cadena que case con Ia expresion regular pasada y devuelve la posicion del primer caracter 0 4 Por 1a maflana " yo se levanto’; ‘extssearen(/1""1/)3 71 pos es 16 string.slice(conienzo, Fin) - Crea una nueva string desde la posicion comienzo incluida hasta la posicion fin NO includa. Fin € opcional y por defecto es string length var cadena = ‘Hola mundo"; var res = cadena,s1sce(3 4); I] res es ‘ola Var res = cadena, s1ice(2}; 11 res es “Ta mundo string.split(separador, Linite) - Grea un array de cadenas al separar el sting original en piezas separadas por el parametro separador Limite es e! limite de nuevas cadenas var cadena = "Como lo 1Levas hoy amigo"; var res'= cadenarsplit(" ", 4) // res es [*Cono',"Lo', “Llevas*, hoy") string. substring(comienzo, fin) - Usar string.sLice() en su lugar string. toLoxerCase() - Convierte la string a minusculas ‘string. toUpperCase()) - Convierte la sting a mayusculas string. froncharcode(cart, car2, ...) var a = String. froncharcode(6?, 97, 116); Wass ct ‘string.match(regexp) - busca la regexp en la cadena string y devuslve las coincidencias en un array var ste = "The rain in SPAIN stays mainly in the plain"; Var res = stramaten(/ain/e)s console-log(res) //[ ‘ain’, ‘ain’, ‘ain string. trim(cadena) - Elimina los espacios en blanco y los saltos de linea del comienzo y del final de la cadena ARRAYS Los arrays en Javascript son falsos arrays pero aun asi renta su uso Heredan de array.pratotype muchos metados muy utiles + Creacion de Arrays + Array Literal var vacto = (1; Var numeros = ['cero', ‘uno’, "dos", "tres", "cuatro", ‘cinco’, Sets", 'slete", "ocho", nueve, "ele?" Jj vaciof1] // undefined umeras(1] 7/ one’ + Array constructor var colores = new Array("blanco’, ‘rojo’, ‘azul") hps:fousbils.comichuletastrontend!js!ai9)2017 Javascript — brusbils, + eracion de arrays No usar for in que da muchos problenas por no sex objetos puros for (var i= @; 4 € muneres.tength; f= i +2) ( ‘console. 1og(numeros[i]); ? + Lazy intaization En arrays multidimensionales, el segundo array no se crea por defecto y hay que inicializarlo antes de usarlo initializeMultiArray: function (cols, rows, value) ( ‘var-areay = [3 for (var t= 8} 1 < cols; +) ( arraylil = (5 For (var j = 8; J < rows; e+) { 4 rts) = values ? etuen arrays ? Metodos D Destructives - modifican los arrays sobre los que se invocan ND No destructivas - NO modifican los arrays sobre los que se invocan + Afadir mentos Darray.push(item, iten2, ...) ~ Aflade los items al final del array, Pero cada item que afiade lo hace como un array item var a= ('a', ‘bt, tet]s as ooo var ¢ = a.push¢b, ‘true! Hassan ey Lx, y's 2], true Weiss D array.unshift(itent, iten2, ...) - come push pero afiade las items al principio del aray. Devuelve la nueva length var a= ['3', "bis *eTy var nS aunshife('?', te"): eas RC BE fees 5 + Eliminar elementos. D array.pop() - Elimina y devuelve el ultimo elemento del array, Si el array vacio devuelve undefines var as a", "bY, *eh]y var € = 3.p0903 1/248 ['a", BD, € is *e D array. shift() - elimina el primer elemento del array y lo devuelve. Si el aray esta vacio dewelve undefined var a= [3's "bi “es Var ¢ = a-shiee( Maes (by 'e], cas + Iteracion| NO foreach(valor, indice) - Ejecuta una funcion una vez para cada elemento del aray, var people = [ {nane: ‘Casey’, rate: 60), hpe/forusbilis.com/chuletasrontends! 122ai9)2017 Javascript — brusbils, ‘canilie', rate: 80), ‘cordon’, ‘rate: 75), nigel”, rate: 120) Li vir results = (15 people. foreach(Function(pesson) { Tf (person.rate >» 65 6 person.rate <= 98) { results. push(person); ? Di: ND sone() - Comprusba si algunos elementos del array pasan un test defnido por una funcion. Al primer elemento que da true se acaba do iteracion var ages = 13, 18, 38, 2015 Function checkaduit (age) { weetuon age >= 185 Junction ayFunction() { res = ages, sone(checkAdult); M1 ves = true ND every) - Comprueba si todos los elementos del array pasan un test definido por una funcion. Al primer elemento que da false se acaba la iteracion var ages = (3, 18, 18, 20); unetion checkadult (age) weetuen age > 18; } Function myFunetion() { res = ages. every (checkAdult); V1 ves = false + Combinar NO array.concat(itest, item? ...) -Va afadiendo los tems, array no cambia [rats by te}: var b= Doe) "yy “2 DE Var € = a-coneat(b, true); Weis Fahy We tx, 22, tue] + Fittrar ND Filter() - Crea un nuevo array con todos los elementos que pasan un test especificado en una funcion var people = [ {nane: ‘Casey’, rate: 62), {none: ‘Cantine", rate: 88}, {nane: ‘cordon’, "rate: 75), {nane: ‘Nigel, rate: 120) Lb finetion priceRange(person) { ‘retuen (person.rate >= 65) && (person.rate <= 98); us results = people. filter(pricetange); El callback se invoca con tres elementos 1, EL valor del elemento 2. Elindice del elemento 3. Elobjeto Array que estamos fitrando result = result.Filter(function (val, 4, res) { ‘console. log(val, 1, res); hps:tousbilis.com/chuletastontond!s!ai9)2017 Javascript — brusbils, ND reduce() - Reduce el array a un solo valor. Ejecuta una funcion suministrada para cada valor del array(de izda a derecha). EL valor de return se guards en un acumulador 11 total [0, 4, 2, a}.reduce(runction(a, B){ return a + by Ds var numbers = (65, 44, 12, 4]; Funetion getsun(total, nua) { ‘eetush total + nuns > Console-log(unbers.reduce(getsun)); // resultado = 125 var array = [4,5,6,748)5, var singleval + 8; Singleval = array.reduce(functson(previousVal, current¥al) ( ‘return previousval + currentval;, Os + Buscar ND array.indexOF("elemento") - Busca el elemento en el array y devuelve su posicion 0 -1 sine lo encuentra var fruits = ["sanana*, "orange", “Rpple", “Mango]s Var a= fruits. indexof("apple'); Manz ND array. lastIndexof - Como indexOf pero desde atras hacia adelante var array = (2, 5, 9, 215 array. lastindexor(2)} ws array. lastingexo#()} wn array. lastInéexoF(2, 3); 7/3 array. lastIncexoF(2, 2); // @ array.includes(value) - Devuelve false or tue si encuentra o no el elemento dentro del array function diseavowel (str) { var vowels = ['a"y str, split("*) forEach(function (value, index) { 1# (vowels includes (valve)) res.push(valve) JF (vowels. ndexOf (value) == -1) res.push(value) ; Ds etuon res. Josn( ey TY, fo, Why TA, TES OT, 10", "UT + Ordenar D array. sort(funciondeconparacion) - Por defecto la comparacion la hace asumiendo que todos los elementos son strings var n= (4, 8, 15, 26, 23, 42]; nesort(function (a, b) retusn a= by ys Wo 3s (A, 8) 15, 26, 23, 42); D array.reverse() -invierte todos los elementos del array y devuelve una referencia al aay original (pero ya masificado) var a= (a, "bY, ces Var b = a.reverse( J: W1 tanto a cena B son ["c", "By *2 + Modificar NO map() ~ Llama una funcion sobre cada elemento del array y crea un nuevo array con los resultados var numbers = (4, 9, 16, 25]; hps:tousbilis.com/chuletastontond!s! a2ai9)2017 Javascript — brusbils, Function ayFunction() { x = nunbers.map(hath. sqrt); [x= 3 a 5) } NO array.jein(separador) - crea un string concatenande todos los elementos del array usando el separador indicado que por defecto es. Si usas espacio en blanco como separador se unen todos sin separacion Sousne-e)s Ware's a.Jein('")5 // ¢ 4s ‘abed"s ND array.slice(comienzo, fin) - copia una parte del array desde el array[comienzo incluido hasta el array[fin] NO incluldo. Fin fs opcional y por defecto es arraylength var a= (a "bY, tes var b= a.stice(o, 1); // » es ['a") var ¢ = 3isitce(1}; // ces ['B', “e') var d= aishice(1, 2); //'6 es (*b"] Darray.splice(conienzo, borrarCont, item, iten2, ...) -Elimina elementos reemplazandolos otros nuevos (item, .) El primer elemento eliminado es rarrayicomienzo] y @ partir de aqui (el incluido) elimina los siguientes borrarCont. Inserta los tems en su lugar Devuelve los elementos borrados var a= (ats "bts “es Var n= assplsceC, 1, ache’, “bug")s Waves (ia, ‘ache’, ”"bug", te ares [ey //eara borrar por ejemplo el elenento con indice = 3 de un array array. splice(ndice, 1); BOOLEAN true o false + Operadores Logicos ano oR a 1 nor o3 + Operador tornario u operador condicional test ? expresion1 : expresion? Si test es true devuelve expresiont, si es falso devuelve expresion2 + Convertir valor no-booleano a booleano false - string : cadena Vacia rnumiers :0,-0, NaN null, undefined boolean : false - true: Todo lo demas NULL - UNDEFINED ‘Se usan para denotar la ausencia de valor COperaciones que producen undefined Variables sin inicializar hps:tousbilis.com/chuletastontond!s!ai9)2017 Javascript — brusbils, =Parametros perdidos - Leer propiedades inexistontes ~ Los retum de funciones que no devuelven nada explictamente COperaciones que producen nul: El ultimo elemento de la cadena de prototipa - RegExp prototype. exec) sino encuentra un valor que case null es para objetos Lunde#ined es para propiedades, metodos o variables que no han sido inicialzadas ‘chequear si algo es undefined 6 nul if 11 © aprovecnar que tanto undefined cono null se consideran false in ¢ 1 undefined || x wll) { ESTRUCTURAS DE CONTROL + if. else AF (condiciont) { Anstrucciones_if_condéciont_es_toue; } else 1f (condiciona) ( Insteucciones if condicion?_es_teues } else #F (condicions) ( instrucelanes_ifcondicion3_es_true; dew ease’ ¢ insteucciones_if_ninguna_condicion_es_true + while while El codigo puede que no se ejecute nunca while (condicion) { instruceianes, while_condicion_es_trues o while El codigo se ejecuta minimo una vez 60 ¢ insteucetones while_condicion_es_true } while (condicion) + for Anicializacion - Se ejecuta antes que ol bucle empiece Condicion - Define la condicion para seguir ejecutando el bucle actualizacion - Se ejecuta cada vez que el bucle se ha ejecutado for (inicializacion; condicion; actualizacion) { ‘codigo se_ejecuta:con cada. bucles for (var 1 = 0; 1 ¢ 10; ist) ‘document .ursteln(3)$ ? + forin hps:tousbilis.com/chuletastontond!s! 022ai9)2017 Javascript — brusbils, Recorre todas las propiedades de un objeto o array incluidas las heredadas or artamie an [object | aeray]) ( } for (p in window) { Gocument wrsteln(p + "
")s » Para evitar las propiedades heredadas se usa hasomProperty for (var key in person) { Le (person-hasdanProperty(Key)) { ‘console log(key)s + foreach... in DepREcATED NO USAR + switch sultch(epresion) { nseeuecioness areas Snezruecioness breaks cerauit: Instrucciones_por_defecto; breaks itch (new Date() .getDay()) { //getday() nunero de dia de 1a senana ‘ease 6: ‘text = "Sabado"; breaks case 8. ‘cext = “Doningo"; breaks efauie ‘text = "Entre semana"; breaks > FUNCIONES Las funciones son enlazadas a Function. prototype que a su vez esta enlazado a Object prototype Cada funcion se crea con una propiedad prototype cuyo valor es un objeto con una propiedad constructor cuyo valor es la funcion Cada funcion se crea con dos propiedades ocultas El contexto de la funcion El codigo que implementa el comportamiento de Ia funcion + Parametros y Argumentos Pequefia diferencia entre ambos Parametros: son las variables que se definen cuando se deciara la funcion ‘Argumentos: son los valores que se pasan a la funcion al invocarla ‘Sia una funcion le pasamos demasiados parametros los que sobran fs ignora ‘Sia una funcion le pasamos menos parametros a los que falta les asigna undefined arguments object - Un objeto similar a un Array (pero sin ninguno de sus metados) que se correspende con los argumentos pasados alla funcion hps:tousbilis.com/chuletastontond!s! 22ai9)2017 Javascript — brusbils, function fourargunents (ay by ©) { ‘console. 1og(argunents. Length) console. log(argunents({2])s ) cmsebecdo(argmerss(2)35 Fourargunents(‘uno", dos", ‘tres, ‘cuatro'); uw funetéon sinparanetros () { ‘retusn argunents > Var args = sinParanetros(“uno", argslength // 5 dos", "tres" Asignar valores por defecto a los parametros Function paints 9) xe || 8 yey IL e Fetutntxsy]s ? + Hoisting Significa mover al comienzo del alcance 0 rango de vision (scope) Las declaraciones de funciones son completamente hoi sted por ollo se puede llamar a una funcion antes de que sea declarada Las expresiones de funciones no son hoisted y por ello no se pueden llamar antes de ser declaradas + return multiples valores Para ello usan un array furcion getHedidas(anchura, altura, profundidad) ( ‘Ver area = anchura * altura; Var Volumen = anchura * altura * profundidad; var medidas = [area, volunen]; wretusn medidas; } Var area = getwedidas(5,4,10)(0); Var volument’ = getMedidas(5,4,18)(1]; + Invocacion Se realiza nonbrefuncion() (Cuando invocamos una funcion 1. Se suspence 1a ejecucion ée 1a funcion actual 2: Pasa ei control y 10s paranetros 3 1a nueva Function 3. Tambien Se pasan this y argunents| 4 EL valor ge ths cepende del patron de invocacion de los cuales existen & Patrones de invocacion Netodos, this se refiere al objecte desde el que se invoca el metodo Funcion, nis se refiere al objeto global Constructor, this se refdere al nuevo objeto que se esta construyendo ‘Apply PENDIENTE Tipos de funciones + Named functions + Declaracion de funciones function declaration - las puedes lamar cuando quieras antes de que se lean, incluso en el onload function nonbreFuncion () { codigo: ? hpe:forusbilis.com/chuletas/ontends! 202ai9)2017 Javascript — brusbils, + Expresiones de funciones function expressions - no se pueden usar hasta que este encontrada y definida ANONDHAS ‘var nonbreFuncion = funetion() codigo}, > ‘Var referenclafuncion = function noabreFuncion() { ‘codigo; + Anonymous functions function () { codigos ? + Autoejecutables Immediately Invoked Function Expressions (IFES) Una vez declarada se llama a si misma para inicalizarse y estar ya disponible para otras partes de la apicacion Se usa para declarar varables que no afectan al resta del codigo fuera de la funcion pues contiene la vsibilidad de las variables Pueden usar tamiien return avontma (onetiont 7/<6digo de tu funcién 20; I cen paranetros (Cranetion(wa,ort Uithere wes un alias (shortcut) para window Wd es un alias de docunent [io = tn alias Ge otravariabteruyLargs Mowindow, cocunent, etraVariableMuylarga)); ane (runetion nanbreruncion()( 7/e6sige de tu funcion 20); Recursividad Una funcion que se llama a si misma es recursiva function power(base, exponent) { If (exponent == 8) ‘excien “Speturn base * power(base, exponent ~ 1); > ‘console. log(vower(2, 3))4 Woe CLOSURE Es una forma de "recordar" y tener acceso a las variables de una funcion una vez que ya ha terminado de ejecutarse. Closure ejemplot Funetion crearcontador(x) { Function sunarcantidad(y) { return x 95 ? ‘etuen sunarcantidad ? hps:tousbilis.com/chuletastontond!s! san2ai9)2017 Javascript — brusbils, var sunarAdos = crearcontador(2); console. log(sumarab0s(1));.// 3 console. Log(sumarabos(5))3 // 7 Closure ejemplo2 function wrapvalue(n) { ‘Var localvariable = nz return function() ¢ ‘recuen JocalVarable; b ? ‘ar wrap = wrapvatue(1); Var wrap2 = wrapvalue(2)} consoles log(wrapl())5 wad console. log(wrap2())i Wa? OBJETOS Un Objeto es un contenedor de propiedades Una propiedad es un nombre y un valor (cualquiera menos undefined) Los objetos se pasan siempre por referencia or in -Itera sobre todas las propiedades del objeto incluso funciones o propiedades de los prototipas, Para evitarlo se usan fitros como typeof I= "function" 6 hasonProperty Tambien puede usar el for object. hasoanProperty (nonbre) Devuelve true si el objeto tiene la propiedad nombre y false si no. El prototipe no se examina var a = {nenber: true); var b = Onject.creste(a); var t = a.hasounProperty( menber’); // + is true var u = b.hasOunProperty(‘nenber'); // u is false var v = Binenber Ww as true set -usuario.name = usuario.newProperty = “ciudad” - crea una nueva propiedad ciudad in usuario- devuelve true usuario.ciudad !== unde#ined = true Gelete wuario.ciudad - elimina la propiedad del objeto + bind Extraer metodos de un objeto var fune = usuario. diiiots; ‘Func() // typeof + cannot read property “nase” of undefined var fune = usuario.ditiola.bind(usuario); 11 bind crea una nueva funcion cuyo this siempre tendra el valor pasado Fune() // "Hola de parte de Pepe Crear Objetos + Literales, ~ Los valores de las propiedades se pueden obtener de cualquier expresion incluso de otras objetos anidados = Bueno para la creacién de nuevas valores de objeto = NO son reusables: var ebjetovacio = (95 { ‘ethola. = function() { alert ("Hola de parte de", this.nane); hps:tousbilis.com/chuletastontond!s! sanaai9)2017 Javascript — brusbils, h name : "Pepe", edad : 50, aciniento : ¢ 1/ 10s objetos se pueden anidar ‘Fecha: "01-01-1980" lugar? “La Tierra” + Constructores Herencia En javascript los objetos heredan dirsctamente de otros objetos (prototipos) = Con el operador new podemos montarnos factorias de objeios y hacer un pseudociasico patron de diserio ‘Son factorias de objetos, sila a las clases de otros lenguajes 11 weussBLE Function Punto(x, y) { this. thisly } Purto.prototype.dist = function () return Mathesgrt(this.xethisix + this.y*this.y)s b Var pi = new Punto(2, 75 Var p2 = new Punta(s, 4); phy 7 praise 7/5 this Usada dentro de funciones y objetos para referrse a un objeto que lo normal es el objeto en el que la funcion opera + Funcion con alcance global (no esta dentro de ningun otro abjato o funcion) this se reflere al objoto window unetéon windousize() { ‘Var width = this. innerwidtn; Var height = this.innersesghts return (height, width} + Variables globales, las variables globales se convierten en propiedades del objeto window var width = 600; var Shape © (width: 300); Var showkieth = functson() ¢ ‘document. erste(thss.width); be Showidth(); ——// this.width = 69e ‘+ Metodo de un objeto, si ura funcion se define dentro de un objeto se convierte en un metodo de ese objeto. En un metodo this ‘0 reflere al objeto que lo contione var shape = { width: 609, height: 426, getArea: function() { ‘setuen ths.aidth * this hesghty ? ? + Funciones con nombre globales y usadas como metodos de un objeto, this se refer al objeto que contiene a la funcion var width = 600; var shape = (width: 300); Var showtisern = functson() ¢ Gocument.write(this.width); b hps:tousbilis.com/chuletastontond!s! 1622ai9)2017 Javascript — brusbils, shape.getwidth = showwidth; shape getwidth()s 11 Ass.uidth = 300 Prototipos object.create crea un nuevo objeto que usa uno viejo como prototipa var proto = { sentencsa ‘condicional :'2 ? var creaPrisionera = function (nombre, 48) ( ‘var prisionera = dbject.create(prate); prisionera-nonbre = nombres prisienero.id = 1d etusn prisionero; > Var prinerPrisionera = creaPrisionero (°Juan',. 65891"); Var SegundoPristonero = crearPrissonero ("Pepe', *13698"); ERRORES Contexto de ejecucion ‘Se corresponden con el alcance o visiblidad de las variables = Contexte Global: codigo que esta en el script pero no en una funcion. Solo hay un contexto global en una pagina ~Contexte de funcion: codigo que se ejecuta dentro de una funcion. Cada funcion tiene su propio contexto Cada vez que un script entra en un nuevo contexto de ejecucion hay dos fases - Preparacion:, s@ crea un nuevo alcance. Se crean variables, funciones y argumentos y se determina el valor de this. = Ejecucton: ahora se pueden asignar valores a las variables, se referencian las funciones y se ejecuta su codigo y se elecutan tambien las sentencias Objeto variables = Cada contexto de ejecucion tiene su propio objeto variables que tiene las variables, unciones y parametros que estan disponibles para ese contexto, = Cada contxto de ejecucion tiene tambien acceso al padre de objeto variables Excepciones Cuando se produce un error, mira en su contexto a ver si hay codigo para manejar el error, si no lo hay sube hacia arriba por el stack buscando codigo para manejar el error. Si llega al contexto global y no lo encuentra termina la ejecucion del script y crea un objeto Ereor Objecto Error + Tipos de objetos error Error -etror generico SyntaxErrar -no se ha respetado la sintaxis ReFerencetrror - se ha referenciado una variable que o no esta declarada o esta fuera del alcance ‘TypeErrer - hay un inesperado tipo de datos que no puede ser forzado Rangeérror - numeros en un rango no aceptable +0 URTError - metodos del tipo encodeURI\) decodeURI() mal usados EvalError -funcion eval() mal usada + Propiedades: rnare - tipo de ejecucion mnessage = descripcion FileNusber - nomore del archivo javascript _LineNusber - numero de la linea con error hps:tousbilis.com/chuletastontond!s! 1622ai9)2017 Javascript — brusbils, Manejo excepciones Interrumper la ejecucion del programa. Para evitarlo hay que capturartas ery 11 Sotenta ejecutar este codige } catch (exception) { 113i hay una excepeion ejecuta este codigo } finaly { 1/ @t0 Stenpre se ejecuta ? ‘Throwing errors Sisabes que algo podria causar un fll puedes generar tus propos erores antes que ol interprete lo haga ‘throw new Error(*nensaje"); vac width = 125 var height = “test; Function calchrea(wigth, height) ( ery { ‘Var area ~ width * hesgnt; AF (1ishau(area)) { 1) 18 it As 2 number peise (0 11 Otherwise throw an erron Throw new Ercor("calearea() received invalid number’); ¥ catenge) ¢ 11-1 there wos an error console, log(e.nane + * * + e.nessage); rretusn ‘We were unable to calculate the area." » Gocument. getElenentByLd( area") innerHTML = callcArea(width, height); function getPerson (1d) { if (id ©8) { ‘chrow new Ereor( "ID must not be negative: ' + id); Fetuen { 44: 44 }s // normally: retrieved fron database } Function getPersons (S45) { Var result = ()3 Js. foréacn(Funetion (4d) ¢ ery ‘Var person = getPerson(ie); result. push(person); } extch (exception) { console. log(exception) ; ? DH etucn results > PROGRAMACION ASINCRONA. + Tareas Asincronas - Peliciones de red (llamadas AJAX, peticiones al servidor.. etc) ~ Operaciones con el sistema de archivos (leer/escriir archivos... ete) + Operaciones retrasadas a proposito (alarmas, repeticiones periocicas... etc) Callback ‘Son funciones que se ejecutan una vez que el proceso asincrono que las llama se ha terminado function nonbreconpleto (nombre, apellido, callback) { Console log("Me llano "+ nanbre + " "+ spellido); hps:tousbilis.com/chuletastontond!s! s7a2ai9)2017 Javascript —brusbils ccalaback(apel tide); Yar salucos = function (ape) ( console log("Hola, Se" + ape); b embrecompleto("arus", "Bilis", saludos); Jf urt.Js Gb. getiist(printtist)s function printList (rows) { ‘console. 1og(rows”, rows); } 11 database. j= getList: function (catlback) ‘console. log( list’); con.query( "SELECT * FROM ul", function (err, cows) { Tf i(err) throx eer // ertor-first cailbacks. convencion cal back(rows) ; DE Promises var p = new Prosise(‘unction(resolve, reject) { sf (/* condition */) { Pesolve(/* value */); // fulfilled successfully > aise { reject(/* reason */)5 // «1 rejected De (function () { tise strict; var body = docunent.querySelector( ‘body’; Var mylnage = new Inage();, Ji Gall the function with the URL we want to load, but then chain 11 he promise then() method on to the end of it. This contains to 11 eatibacks: ‘ngload( ‘darth Jpg")-then( Function (response) ¢ 7/ The first runs when the promise resolves, with the 11 request response specitieg within the resolve() method. ‘var imageURL. = window.URL .createdb jectURL (response); rytnagessre = inageURL; body. appendchild(ayimage) ; 11 "The second runs when the pronise is rejected, and logs the [encor specifies with the reject() method: 3, function (Enver) { ‘console. 1og(error); Ds J otra sintaxis y)ecateh(Funetion (Error) { console. log(error)s Ds oa 11 tanbien podenos alnacenar 12 pronesa en una variable para una W sintaxts' mas clara W1 var p = smgload(urt); 1 pethen(bla bla); 1 preaten(bla bla); function ingload (url) { 1// Create new pronize with the Pronise() constructor. This has as 11 385 argunene 3 function with two paraneters, resolve and reject ‘return new Pranise( function (resolve, reject) { 71 Standard RHR to load. an image Var request = new xmLittpRequest (); request open( GET’, url): eauest responseType = "blob's Ui wien the request loads, check whether it was successful request onload = function’ () IF (request.status === 208) { hps:tousbilis.com/chuletastontond!s! sa22ai9)2017 Javascript — brusbils, JI, 1 successful, resolve the promise by passing back the 11 request response resolve(request.response) ; pelse ¢ IL-1 At fails, reject the promise with a erron message reject(Error(“Taage didn't load successfully; error code:" + ‘requast -statusText) )5, y * ecuest onercor = function () { Vi Alze deal with the case when the entire request fails to 11 begin wien 11 tis 15 probably 2 network enor, 0 reject the promise 71 with an appropriate message reject(crror( "There was a network error. "))s 1 send the reauest Meese Sted: » d 201 PATRONES DE DISENO Libro bueno de patrones de disefio ‘Se usa para replicar el concepto de clases para quardar metodos y variables publicas y privadas dentro de un objeto Eso nos permite crear una API publica para los metodos que queramos Funciones IIFE, + funciones autoejecutables IIFES (function ( { [1 Todas 125 variables y funciones son locales a esto 11 pero aun tlene acceso a todas las globales 10: + Importacion global (Function (8, YaHo0) 11 Nos da acceso a 2as globales jQuery (as $) y YAHOO aqui dentro }GQuery, YAHOO); var app = (function () { “use strict Function inst () { ‘Console. 1og{" inicio", Dungeon.hola()); rrenderer.setmycarvas(); init: init var renderer = (Function () ¢ "use strict” var cols, var ppp = 105 Function setmycanvas () { ‘canvas = docunent.getElementByTd‘myCanvas"); ctx = canvas. getContext("Z0")t Canvascnidth = cols * ppp} canvas height = rows * BPD: ? Function drawtycanvas () { hps:tousbilis.com/chuletastontond!s! 922ai9)2017 Javascript — brusbils, console-1og( ‘Drawing Map. return { ‘gettyCanvas: sethyCanvas, GrautyCanvas: crawtycanvas he 203i var bungeos = { hola: function () { ‘eetuen "ROGUE" > B addEventListener("oad", app. init); + Con creacion manual de objetos function User()( Var username, password; Function dobogin(usersPm) { passhord + pws ? ar publicaPt = { Togin: dotogin by ‘etusn publicAPr; dae fred» yer) eat opin trea, Battery); 11 erea un moduto User + Module Export var Modulo = (Function () { ‘var mod = (5 Var privadavariable = 1; ‘Funetion privadonetodo () { ‘retuen privadavariablet+s > nod noduloPropiedad ~ ‘Hola; trod moculoMetodo = function () ( ‘return privadeMetodo(); hb fecuen nod; DO: Conséie.1og(Wodulo.noduloPropiedad); 11 Hora Console. log(Modulo nodulevetodo()); We ‘console. log(Madulo nodulemetodo()) We + Object Interface var weekbay = funetion() { ‘var names = ["Sunday", "Monday", "Tuesday", “Wednesday”, "Thursda) Feiday", "Saturday" }5 return ( rane: function(nuaber) ( ‘return nanes[nuaber]; b Aimer: functson(nane) { ‘return nanes. indexOF(nane); > a 103 console 1og(woekDay.ame(weekDay.nusber("Sunday"))); // + Sunday Object literal var mytodule = ¢ mybroperty: "sonevalue", myconfig: { lusecaching: true, Tanguage: "en" hps:tousbilis.com/chuletastontond!s! 20122ai9)2017 Javascript — brusbils, b ‘ShySonething: function () { Console-log( "where 15 Paul Trish today?" » Feporttycontigs function () { ‘Console log "Caching is! ° + ( thisrayContig.usecaching 7 “enabled” : “éisabled") ); » Updatemycontig: function( newconfig ) ¢ EP (typeof nesConfig =e= “object” ) ¢ ‘his myContig = newontigs 1 censestog(tsssmyconFg.2anguage 35 by iyhodule. saySonething() UI Were 4s Paul Toish today? inytodule.reportsycontig() 11 Caching 8: enabled mnyhodule. updatenycontig({ ne Tanguage: "fr", usecaching: false Di: inyhodule. reportsycontig(); 11 Caching is: disables Datos: Arrays vs Objects Grupos de objetos se pueden almacenar en arrays 0 como propiedades de otros objotos + Objetos en un array var people = [ nase! ‘casey ', rate: 7, active: true), {ane: ‘Canilie’, rate: 88, active: true}, {nane: ‘Gordon’, ’nate: 75, active: false}, {name: "Nigel", rate! 126, active: true} + Objetos como propiedades de otros objetos var people = ( ‘Casey= (rate: 78, active: true}, ‘Si{rate:_88, active: true), fate: 75, active: false) 5 Nigel = {rate: 128, active: true} ES6 const - let + const rea constantes que no se pueden modificar, ha de asignarse el valor en la dectaracion + let Declara variables que no son accesibles mas alla del ambito de creacion Ejemplo mejor: para os for fancion arrow Para las funciones anonimas 1, 655 ar multiplicar = function(x, y) ( iretuon x" 95 } Wy 856 Var muttiplicar wnt hps:tousbilis.com/chuletastontond!s! 21122ai9)2017 Javascript — brusbils, retumn xy » template strings let nombret = “savaseript; Jet nombre? = “avesone"s console. 1og(séio quiero decir que ${nenbre1} 1s ${nonbre2}” )s modulos barjs Funetion hello(who) { ‘etuon “Let me Sntroduce: "+ whos ? export hello; foojs ingort hello from "bar" var hungry = "hippos Funetion awesome) ‘console. Logt hel io( hungry ).touppercase() 11 Aaport only “he120()° from "bar" module 6 > export awesone; bazjs nodule foo fon "Foo! Imogue bar eon "bat Console. loge bbarsheLlo( “chino” ) 11 Amport the entire "Foo" and “bar* modules ds 11 Let me introduce: chino foo. awesone()s 71 LET ME INTRODUCE: HIPPO maps y sets iterators y generators hps:tousbilis.com/chuletastontond!s! 22122
También podría gustarte
CSS y CSS3
PDF
Aún no hay calificaciones
CSS y CSS3
8 páginas
Chuleta XPATH
PDF
100% (1)
Chuleta XPATH
2 páginas
Ticsa1 - Semana 15 - Creacion de Entradas Con Google Sites
PDF
Aún no hay calificaciones
Ticsa1 - Semana 15 - Creacion de Entradas Con Google Sites
62 páginas
HTML 5
PDF
100% (1)
HTML 5
156 páginas
Ejercicios HTML 3 (Formularios) - Solución
PDF
Aún no hay calificaciones
Ejercicios HTML 3 (Formularios) - Solución
17 páginas
Etiquetas de HTML
PDF
100% (1)
Etiquetas de HTML
4 páginas
Resumen HTML Todos Los Componentes de Una Pagina Web
PDF
100% (1)
Resumen HTML Todos Los Componentes de Una Pagina Web
12 páginas
Tema 12 Ejercicios - Transformación de Información. XSLT
PDF
Aún no hay calificaciones
Tema 12 Ejercicios - Transformación de Información. XSLT
12 páginas
Curso JS
PDF
100% (1)
Curso JS
46 páginas
Git y GitHub
PDF
Aún no hay calificaciones
Git y GitHub
28 páginas
Css 1 2023
PDF
Aún no hay calificaciones
Css 1 2023
93 páginas
Chuleta Javascript
PDF
Aún no hay calificaciones
Chuleta Javascript
5 páginas
Javascript
PDF
Aún no hay calificaciones
Javascript
30 páginas
Aprender. HTML5, CSS3 y Javascript Con 100 Ejercicios Prácticos - PDF
PDF
Aún no hay calificaciones
Aprender. HTML5, CSS3 y Javascript Con 100 Ejercicios Prácticos - PDF
4 páginas
03XML Schema Completa - REDUCIDA v2
PDF
Aún no hay calificaciones
03XML Schema Completa - REDUCIDA v2
30 páginas
Propiedades Básicas en CSS3
PDF
Aún no hay calificaciones
Propiedades Básicas en CSS3
4 páginas
Grid CSS (Cuadrículas) - CSS en Español
PDF
Aún no hay calificaciones
Grid CSS (Cuadrículas) - CSS en Español
20 páginas
Chuleta Excel
PDF
Aún no hay calificaciones
Chuleta Excel
9 páginas
Conceptos HTML y JavaScript - Bloque 2 - CSS
PDF
Aún no hay calificaciones
Conceptos HTML y JavaScript - Bloque 2 - CSS
23 páginas
Taller DSW v2
PDF
Aún no hay calificaciones
Taller DSW v2
35 páginas
Sintaxis Básica de CSS
PDF
100% (1)
Sintaxis Básica de CSS
4 páginas
Manual de HTML
PDF
100% (1)
Manual de HTML
47 páginas
Manual Rapido de HTML
PDF
Aún no hay calificaciones
Manual Rapido de HTML
18 páginas
Gestión de Eventos y Formularios en JavaScript.
PDF
Aún no hay calificaciones
Gestión de Eventos y Formularios en JavaScript.
34 páginas
Chuleta CSS
PDF
Aún no hay calificaciones
Chuleta CSS
3 páginas
CSS - Ejercicios
PDF
Aún no hay calificaciones
CSS - Ejercicios
78 páginas
Guia HTML Css en Word
PDF
Aún no hay calificaciones
Guia HTML Css en Word
18 páginas
Documentación Técnica:: Recopilación de Enlaces de Javascript, Html5 Y Css3
PDF
Aún no hay calificaciones
Documentación Técnica:: Recopilación de Enlaces de Javascript, Html5 Y Css3
9 páginas
Clase 17. JS 5
PDF
Aún no hay calificaciones
Clase 17. JS 5
42 páginas
Chuleta GIT PDF
PDF
Aún no hay calificaciones
Chuleta GIT PDF
10 páginas
Tema3.1. Objetos Predefinidos
PDF
Aún no hay calificaciones
Tema3.1. Objetos Predefinidos
38 páginas
Reglas Del Paso Entidad Relacion A Tablas
PDF
Aún no hay calificaciones
Reglas Del Paso Entidad Relacion A Tablas
2 páginas
Ejemplos Javascript
PDF
Aún no hay calificaciones
Ejemplos Javascript
13 páginas
Crear Tablas HTML Colspan y Rowspan
PDF
Aún no hay calificaciones
Crear Tablas HTML Colspan y Rowspan
6 páginas
html5 WEB
PDF
Aún no hay calificaciones
html5 WEB
5 páginas
Lista de Propiedades CSS
PDF
Aún no hay calificaciones
Lista de Propiedades CSS
10 páginas
LESS
PDF
Aún no hay calificaciones
LESS
23 páginas
Clase 6 - CSS
PDF
Aún no hay calificaciones
Clase 6 - CSS
45 páginas
Apuntes SASS
PDF
Aún no hay calificaciones
Apuntes SASS
3 páginas
Guía Rápida de Comandos HTML
PDF
Aún no hay calificaciones
Guía Rápida de Comandos HTML
11 páginas
Css 3
PDF
Aún no hay calificaciones
Css 3
71 páginas
Manual Básico de HTML Creación y Estructura de Páginas WEB MARCOS
PDF
Aún no hay calificaciones
Manual Básico de HTML Creación y Estructura de Páginas WEB MARCOS
11 páginas
Unidad 1 Lenguaje de Marcas CFGS
PDF
Aún no hay calificaciones
Unidad 1 Lenguaje de Marcas CFGS
16 páginas
9 Json
PDF
Aún no hay calificaciones
9 Json
14 páginas
Reporte JavaScript Ejemplos
PDF
Aún no hay calificaciones
Reporte JavaScript Ejemplos
16 páginas
DOM
PDF
Aún no hay calificaciones
DOM
36 páginas
Referencia CSS3
PDF
Aún no hay calificaciones
Referencia CSS3
10 páginas
02-Estructura HTML Bloques
PDF
Aún no hay calificaciones
02-Estructura HTML Bloques
27 páginas
Manual Word Avanzado
PDF
Aún no hay calificaciones
Manual Word Avanzado
110 páginas
Chuleta CSS
PDF
Aún no hay calificaciones
Chuleta CSS
8 páginas
Ahorcado Juego
PDF
Aún no hay calificaciones
Ahorcado Juego
7 páginas
Ejemplos de Practica CSS3 PDF
PDF
Aún no hay calificaciones
Ejemplos de Practica CSS3 PDF
12 páginas
Guia 5 BlueGriffon 2013
PDF
Aún no hay calificaciones
Guia 5 BlueGriffon 2013
22 páginas
Unidad04 javascriptPPT-primeraParte 1
PDF
Aún no hay calificaciones
Unidad04 javascriptPPT-primeraParte 1
60 páginas
Capítulo 2
PDF
Aún no hay calificaciones
Capítulo 2
16 páginas
Downloads/nodejs/manual Nodejs
PDF
Aún no hay calificaciones
Downloads/nodejs/manual Nodejs
39 páginas
HTML Aulaclic
PDF
Aún no hay calificaciones
HTML Aulaclic
75 páginas
Java Script
PDF
Aún no hay calificaciones
Java Script
38 páginas
Modulo 3 - CSS3
PDF
Aún no hay calificaciones
Modulo 3 - CSS3
21 páginas
20 Secretos de Youtube Que Cambiarán Tu Vida - Taringa!
PDF
Aún no hay calificaciones
20 Secretos de Youtube Que Cambiarán Tu Vida - Taringa!
13 páginas
Curso de Javascript PDF
PDF
Aún no hay calificaciones
Curso de Javascript PDF
31 páginas
Los Chinos en La Guerra Del Pacifico
PDF
Aún no hay calificaciones
Los Chinos en La Guerra Del Pacifico
8 páginas
ESP TECNICAS - Mant Sist Alarmas-CCTV-L1,2y5 PDF
PDF
Aún no hay calificaciones
ESP TECNICAS - Mant Sist Alarmas-CCTV-L1,2y5 PDF
40 páginas
Tutorial de FluentPDO para PHP
PDF
Aún no hay calificaciones
Tutorial de FluentPDO para PHP
5 páginas
Fernando Gaitan - Com.ar Codeigniter Transacciones
PDF
Aún no hay calificaciones
Fernando Gaitan - Com.ar Codeigniter Transacciones
6 páginas
Luisrodriguez - Pe-Libreria para Mantenimientos CRUD en Codeigniter
PDF
Aún no hay calificaciones
Luisrodriguez - Pe-Libreria para Mantenimientos CRUD en Codeigniter
3 páginas
Chuleta Mysql
PDF
Aún no hay calificaciones
Chuleta Mysql
2 páginas
Serial MIRC 6.21
PDF
Aún no hay calificaciones
Serial MIRC 6.21
1 página
Plan de Práctica Diaria PDF
PDF
Aún no hay calificaciones
Plan de Práctica Diaria PDF
1 página