Show Menu
Cheatography

DWCC Cheat Sheet (DRAFT) by

This is a draft cheat sheet. It is a work in progress and is not finished yet.

Vincular JS y HTML

Archivo externo
<script type="t­ext­/ja­vas­cri­pt" src="Co­dig­o2.j­s">­</s­cri­pt>
En el mismo archivo, dentro de body o head
<script type="t­ext­/ja­vas­cri­pt">­</s­cri­pt>
El código javascript puede estar insertado en atributos de etiquetas HTML.
<p onclic­k="a­ler­t('­Ins­ertando javascript si haces click aquick­')">
Inserción en código HTML
<script type="t­ext­/ja­vas­cri­pt"> // Código javascript </s­cri­pt>

Depuración de errores

Click der. en navegador, Inspec­cionar elemento, Console o Sources
Dentro de concid­ion­ales, bucles, otras instru­cci­ones...
alert(­var­iab­leC­onV­alor);
 
consol­e.l­og(­"­ins­tru­cci­ón", texto);

Sentencias de control

Switch Case switc­­h(n­­ota){ case 1: case 2: alert(­­"Muy defici­­en­t­e­"); break; case 3: alert(­­"­I­ns­­ufi­­ci­e­n­te­­"); break;}

Print

Ventana de alerta
alert(­" ");

Funciones de cadena

Reemplazar carácteres
cadena = cadena.re­pla­ce(­/,/g, '');

Funciones de array

Dar la vuelta a los elementos del array
array = array.r­ev­erse();
Convertir elementos del array en una cadena
array = array.j­oin();

Objetos

var objeto_mio = new Object();
Creaci'on de un objeto
var animal1 = Object.cr­eat­e(A­nimal);
objeto­_mi­o.p­rop­ied­adtal; objeto­_mi­o.m­eto­docual( [parám­etros o no] );
Acceso a propiedad del objeto
tragap­err­as[­'sa­ldo'] = 10;
tragap­erras = {'saldo': '10, 'puntos' : 1}
var myObj = { myMethod: functi­on(­params) { // ...do something }
Métodos de objeto
myOthe­rMe­tho­d(p­arams) { // ...do something else }
object.me­tho­dna­me(­par­ams);
Llamar al método de objeto

Clase Date

Las fechas se indexan a 0!
var miFecha = new Date()
Creación de objeto Date con la fecha por defecto (la actual)
miFecha = new Date(a­ño,­mes­,di­a,h­ora­,mi­nut­os,­seg­undos, milise­gundos)
Creación de fecha date con instancia por parámetro
 
los parámetros son siempre numéricos
Métodos get
f.getD­ate();
Devuelve el día del mes. Número entre 1 y 31.
getDay()
Devuelve el día de la semana. Entre 0 (domingo) y 6 (sábado)
getFul­lYear()
Retorna el año con 4 dígitos.
getHours()
Retorna la hora. Entre 0 y 23.
getMil­lis­eco­nds()
Devuelve los milise­gundos entre O y 9999
getMin­utes()
Devuelve los minutos. Entre 0 y 59.
getMonth()
Devuelve el mes. Entre 0 (enero) y 11 (dicie­mbre)
getSec­onds()
Devuelve los segundos. Entre 0 y 59.
getTime()
Devuelve los milise­gundos transc­urridos entre el día 1 de enero de 1970 y la fecha corres­pon­diente al objeto al que se le pasa el mensaje.
var unixTi­meZero = Date.p­ars­e('01 Jan 1970 00:00:00 GMT');
Analiza una fecha y devuelve el número de milise­gundos pasados desde el 1 de enero de 1970 hasta la fecha analizada
Métodos set
var event = new Date('­August 19, 1975 23:15:­30'); event.s­et­Dat­e(24);
Actualiza el día del mes.
 
 f.setDate(  f.getD­ate() + 1 ) ;
setFul­lYear()
Cambia el año de la fecha al número que recibe por parámetro.
setHours()
Actualiza la hora 0-24
setMil­lis­eco­nds()
Establece el valor de los milise­gundos.
setMin­utes()
Cambia los minutos.
setMonth()
Cambia el mes (el mes empieza por 0).
setSec­onds()
Cambia los segundos.
var event1 = new Date('July 1, 1999'); var event2 = new Date(); event2.se­tTi­me(­eve­nt1.ge­tTi­me());
Actualiza la fecha completa. Recibe un número de milise­gundos desde el 1 de enero de 1970.
Otros
toDate­Str­ing()
Convierte la fecha del objeto Date en una cadena de caract­eres.
toTime­Str­ing()
Convierte la parte de tiempo de un objeto Date en una cadena

Clase Math

-Math no es un constr­uctor. No se usa como método para objetos ya creados.
Funciones
PI
E
constante de Euler
Métodos
return Math.abs(a - b); consol­e.l­og(­dif­fer­ence(3, 5)); // expected output: 2
El valor absoluto de un número
consol­e.l­og(­Mat­h.c­eil­(.95)); // expected output: 1
Devuelve el número entero superior.
consol­e.l­og(­Mat­h.r­oun­d(0.9)); // expected output: 1
Redondea al número más próximo
consol­e.l­og(­Mat­h.e­xp(0)); // expected output: 1
Devuelve el expone­ncial
floor()
Devuelve el número entero inferior.
log()
Devuelve el logaritmo natural.
Math.m­ax(­[va­lue1[, value2[, ...]]])
Devuelve el número máximo entre los números pasados como argumento.
min()
Devuelve el número mínimo entre los números pasados como argumento.
Math.p­ow(­base, exponent)
Devuelve el resultado de un número elevado a una potencia pasada como argumento
function getRan­dom­Int­(max) { return Math.f­loor(Math.r­andom() * Math.f­loo­r(m­ax)); }
Devuelve un número aleatorio entre O y 1. O <= x < 1
sqrt ()
Devuelve la raíz cuadrada.

Objeto Number

b = new Number­(va­lor);
-Si no pasamos algún valor al constr­uctor, la variable se inicia­lizará con el valor 0.
Propie­dades
MAX_VALUE Devuelve el mayor número posible en JavaScript.
MIN_VALUE Devuelve el menor número posible en JavaSc­ript.
NaN Representa el valor especial Not a Number
NEGATIVE_INFINITY Representa el infinito negativo
POSITIVE INFINITY Representa el infinito positivo.
Métodos
n = toExpo­nen­tia­l(num)
Notación científica (1.3)
n = num.to­Fix­ed(2)
destinar una cantidad fija de dígitos para la parte entera y otra para la parte fracci­onaria, el número representa la fracci­onaria
n = num.to­Pre­cis­ion(3)
marca la longitud fija del número (12.354 => 12.3)

String

Propie­dades
length
la longitud de la cadena
Métodos
charAt( num )
Permite acceder a un carácter en concreto de una cadena
paragr­aph.in­dex­Of(­sea­rch­Term);
Devuelve la posición de la primera ocurrencia del carácter pasado como parámetro.
lastln­dexOf( string )
Devuelve la posición de la última ocurrencia del carácter (string) pasado como parámetro
match( cadena_o_e xpr )
Busca una coinci­dencia en una cadena y devuelve todas las coinci­dencias encont­radas
replace( cadena_o_e xpr)
Busca una coinci­dencia en una cadena y si existe, la remplaza por otra cadena pasada como parámetro.
search( cadena_o_e xpr )
Busca una coinci­dencia en una cadena y devuelve la posición de la coinci­dencia.
str.sl­ice­(be­gin­Index[, endIndex])
extrae una sección de una cadena y devuelve una cadena nueva.
resultado = result­ado.sl­ice(0, -1);
cadena.sp­lit­([s­epa­rad­or]­[,l­imite])
Convierte un objeto String en un array de cadenas mediante un separador
str.su­bstr( inicio, longitud)
Devuelve una subcadena en base a un índice y longitud pasados como paráme­tros.
str.su­bst­rin­g(i­nicio, fin )
returns the part of the string between the start and end indexes, or to the end of the string.
str.to­Low­erCase( )
Devuelve la cadena en minúsc­ulas. No la cambia.
toUppe­rCase()

Objeto Window

La interfaz Document representa cualquer página web cargada en el navegador y sirve como punto de entrada al contenido de la página. El DOM incluye elementos como <bo­dy> y <ta­ble­>.El objeto window representa la ventana que contiene un documento DOM. ; la propiedad document apunta al DOM document cargado en esa ventana. 
 Se crea un objeto de este tipo para cada ventana que pueda ser lanzada desde una página Web. Se considera un objeto implícito, ya que no es necesario nombrarlo para acceder a los objetos que se encuentran bajo su nivel de jerarquía.
propie­dades
closed
Indica si una ventana está cerrada o no. Booleano
defaul­tStatus
Cadena que contiene el texto por defecto que aparece en la barra de estado (status bar) del navegador.
document
Documento actual de la ventana.
history
array que representa las URLS visitadas por la ventana
innerH­eight
la altura utilizable de la ventana.
innerWidth
al ancho utilizable de la ventana
length
cuántos frames tiene la ventana actual.
location = 'http:­//w­ww.e­xa­mpl­e.com'
retorna un objeto Location con inform­ación acerca de la ubicación actual del documento.
locati­onbar
Objeto barra de direcc­iones de la ventana
menubar
Objeto barra de menús de la ventana.
name
opener
Hace referencia a la ventana de navegador que abrió la ventana donde estamos trabaj­ando.
outerH­eight
Tamaño en pixels del espacio de toda la ventana, en vertical. Esto incluye las barras de despla­zam­iento, botones, etc.
outerWidth
Tamaño en pixels del espacio de toda la ventana, en horizo­ntal. Esto incluye las barras de despla­zam­iento.
pageXo­ffset
Corres­ponde a la posición horizontal de la ventana
pageYo­ffset
Corres­ponde a la posición vertical de la ventana
parent
referencia al parent de al ventana actual
self
Corres­ponde a la ventana actual.
status
String con el mensaje que tiene la barra de estado.
top
Corres­ponde a la ventana de nivel superio
Métodos
alert ()
Cuadro de diálogo
back()
Regresa a la página anterior según el historial.
blur()
Elimina el foco del objeto window actual.
close()
Cierra una página
confirm()
Cuadro diálogo con botones aceptar y cancelar.
find()
Busca texto en una página.
focus()
Pide traer la ventana al frente
forward()
Avanza una página.
home()
Mueve la ventana activa.
var ventan­aNueva = window.op­en(); ventan­aNu­eva.do­cum­ent.write
Abre una nueva ventana.
print()
prompt()
Genera un cuadro de diálogo con un cuadro de texto para que el usuario introduzca valores.
window.re­siz­eTo­(aW­idth, aHeight)
Modifica el tamaño de una ventana.
setInt­erval()
Evalúa una expresión cada cierto tiempo.
setTim­eOu­t(a­viso() , 5000)
Evalúa una expresión después de un tiempo especi­ficado.
window.sc­rol­lBy­(x-­coord, y-coord);
Mueve el contenido de una ventana en función de una cantidad especi­ficada en píxeles.
window.sc­rol­lTo­(x-­coord, y-coord)
Mueve el contenido de una ventana especi­ficando una nueva posición de la esquina superior izquierda.
stop()
Detiene una página.

Document

Con este objeto es posible manipular las propie­dades y contenido de los elementos princi­pales de las páginas web. Este objeto cuenta con una serie de subobjetos como son puntos de anclaje, imágenes, vínculos o formul­arios
Propie­dades
alinkColor
Devuelve o define el color que tendrán los vínculos activos en el cuerpo
anchors
Devuelve una lista de todas las anclas (anchors) del documento.
docume­nt.b­gColor = "­dar­kbl­ue";
da/define el color de fondo (bgColor) del documento actual.
cookie
cadena con los valores de las cookies del documento actual
domain
Guarda el nombre del servidor que ha servido el documento
fgColor
da/define el color del documento actual o de su texto
forms
un array con todos los formul­arios del documento
images
Array con todas las imágenes del documento (etiqueta <im­age­s>)
lastMo­dified
una cadena con la fecha de la última modifi­cación del documento
links
array con los enlaces externos (etiqueta <a ref>)
referrer
Cadena con la URL del documento que llamó al actual, en caso de usar un enlace.
URL
Cadena con la dirección del documento
vlinkColor
Propiedad en la que se guarda el color en formato RGB de los enlaces visitados.
Métodos
window.ca­ptu­reE­ven­ts(­eve­ntType)
capturar los eventos que ocurran en la página web. Recibe como parámetro el evento que se desea capturar.
docume­nt.c­lose()
cierra el flujo de escritura de un documento
getSel­ection ()
Devuelve un string que contiene el texto que se ha selecc­ionado
handle­Event()
Activa el manejador del evento especi­ficado.
home()
Carga la página de inicio.
open()
Abre el flujo del documento
releas­eEv­ents()
Libera los eventos que han sido interc­eptados
routeE­vents ()
Intercepta un evento y lo pasa a lo largo de la jerarquía del objeto que lo lanzó.
write()
Escribe datos en el documento.
writeln ()
Escribe datos además de un salto de línea en el documento.
docume­nt.t­itle

History

current
la cadena que contiene la URL de la entrada actual del historial
length
número de páginas que han sido visitadas.
next
la cadena que contiene la siguiente entrada del historial.
previous
la cadena que contiene la anterior entrada del historial
back( )
Carga la URL del documento anterior del historial.
forward()
Carga la URL del documento siguiente del historial
go()
Carga la URL del documento especi­ficado por el índice que pasamos como parámetro dentro del historial.

Objeto Location

Su finalidad principal es, por una parte, modificar el objeto location para cambiar a una nueva URL, y extraer los compon­entes de dicha URL de forma separada para poder trabajar con ellos de forma individual si es el caso.
Propie­dades
hash
la cadena que representa el anclaje de la URL. Es decir, la parte de la URL que va después de la etiqueta #.
host
Cadena que contiene el nombre del servidor y el número del puerto, dentro de la URL.
hostname
el nombre de dominio del servidor (o la dirección IP), dentro de la URL.
href
la URL completa.
pathname
Cadena que contiene el camino al recurso, dentro de la URL.
port
Cadena que contiene el número de puerto del servidor, dentro de la URL.
protocol
Cadena que contiene el protocolo utilizado (inclu­yendo los dos puntos), dentro de la URL.
search
Cadena que contiene la inform­ación pasada en una llamada a un script, dentro de la URL.
Métodos
locati­on.a­ss­ign­("ht­tp:­//w­ww.e­je­mpl­o.c­om"); // Equiva­lente a locati­on.href = "­htt­p:/­/ww­w.e­jem­plo.co­m"
Carga un nuevo documento.
// Método reload() locati­on.r­el­oad­(true); / Recarga la página. Si el argumento es true, se carga la página desde el servidor. Si es false, se carga desde la cache del navegador /
Carga de nuevo el documento actual.
locati­on.r­ep­lac­e("h­ttp­://­www.ej­emp­lo.c­om­"); // Similar a assign(), salvo que se borra la página actual del array history del navegador
Sustituye la URL del documento actual por otra URL.

Gestión de ventanas

Abrir y cerrar nuevas ventanas
<a href="m­ipa­gin­a.h­tml­" target­="_b­lan­k">
window.op­en(URL, nombre­_ve­ntana, parame­tro­s_c­onf­igu­racion , historia )
window.cl­ose()
se cierra la ventana.
 
`var ventana = window.op­en(­"­"­,"","w­idt­h=300, height­=20­0");
Apariencia
direct­ori­es=­yes­|no|1|0 Obsoleto. IE only fullsc­ree­n=y­es|­no|1|0 Modo pantalla completa. Valor por defecto es no. IE solo. height­=pixels Altura de la ventana. Min. valor es 100 left=p­ixels Posición izquierda de la ventana. Números negativos no permit­idos. locati­on=­yes­|no|1|0 Campo de direcc­iones si o no. Opera solo. menuba­r=y­es|­no|1|0 Barra de menú si o no. resiza­ble­=ye­s|n­o|1|0 Si se puede modificar tamaño de la ventana. IE solo. scroll­bar­s=y­es|­no|1|0 Barras de despla­zam­iento si o no. IE, Firefox & Opera solo status­=ye­s|n­o|1|0 Barra de estado. titleb­ar=­yes­|no|1|0 Barra de título. toolba­r=y­es|­no|1|0 Barra de herram­ientas. top=pixels Posicion superior de la ventana.
Comuni­cación
De la ventana secundaria a la principal.
La propiedad opener del objeto window hace referencia a la ventana principal.
opener.document.bgColor = “red” ;

Funciones predef­inidas del lenguaje

if (isFin­ite­(1000 / x))
eval('2 + 2')
Convierte una cadena que pasamos como argumento en código JavaScript ejecut­able.
IsNaN ()
Number ()
Convierte el objeto pasado como argumento en un número que represente el valor de dicho objeto
String()
Convierte el objeto pasado como argumento en una cadena que represente el valor de dicho objeto.
parselnt()
Convierte la cadena que pasamos como argumento en un valor numérico de tipo entero.
parseF­loat()
Convierte la cadena que pasamos como argumento en un valor numérico de tipo flotante.
if (typeof this[i] === 'string') { this[i] = this[i­].t­oUp­per­Case(); }
Comprobar que variable sea de algún valor

Funciones definidas por el usuario

function nombre( [param­etros] ) { grupo_­de_­ins­tru­cci­ones; [ return valor; ] }
Los valores se pueden definir a la hora de crear la función
function numero­Ale­atorio( min = 1, max = 100 ){ var valorA­lea­torio = Math.f­loor( Math.r­andom() * (max - min) + min); return valorA­lea­torio; }
- Los argumentos son un array : argume­nts.le­ngth, argume­nts[1]
- Los parámetros se pueden pasar a las funciones de dos formas : por valor o por refere­ncia. No se peude modificar el argumento dentro de la función, pero sí los objetos.
- El array se considera un objeto
typeof
devuelve el tipo
-Una función puede ser anónima
var cuadrado = functi­on(­number) {return number * number};
-Es mejor definir un grupo de funciones en el head para poder asegurar su uso en el body
-Poner var para hacer variables locales
-No usar var para usar/m­odi­ficar valores de las globales

Arrays

Declar­ación
var nombre­_de­l_array = new Array();
var nombreArr = [];
 
var nombre­_array = new Array(10);
 
var lista_­pro­ductos = new Array(­'Pan', 'Agua', 'Lente­jas');
Inicia­liz­ación
nombre­_de­l_a­rray[ i ] = “valor”;
 
lista_­pro­duc­tos[0] = “pan”;
Propie­dades
length
Longitud, se puede modificar
prototype
Sirve para agregar nuevas propie­dades y métodos al objeto array. Las instancias Array heredan de Array.p­ro­totype.
 
Array.p­ro­tot­ype.Mayus = function() { ... }
a.Mayus();
 
Array.p­ro­tot­ype.dia = "­lun­es";
 
Array.p­ro­tot­ype.Susti = functi­on(vi, vf) { for ( var i = 0; i< this.l­ength; i++) { if ( this[i] == vi ) { this[i] = vf ; } } }
Métodos
concat()
Une dos o más arrays
indexOf( string )
Busca un elemento en el array y devuelve su posición. Devuelve -1 si no lo encuentra
join()
Junta los elementos de un array en una cadena
lastIn­dexOf( string )
Busca un elemento en un array desde el final y devuelve su posición.
pop()
Borra el último elemento del array y devuelve su contenido
push()
Añade nuevos elementos al array y devuelve su nueva longitud.
reverse()
Invierte el orden de los elementos en el array.
a = frutas.sh­ift()
Elimina el primer elemento del array y devuelve el elemento
var citrus = fruits.sl­ice(1, 3); fruits.sl­ice­(-1);
Selecciona parte de un array y devuelve su contenido en un array nuevo. Útil para mostrar elemtnos del array sin accederlos direct­amente.
arr.sort()
Ordena los elementos del array localmente y devuelve el array.La ordenación no es necesa­ria­mente estable. El por defecto es de Unicode.
 
arr.so­rt(­[co­mpa­reF­unc­tion]) Especifica una función que define el modo de ordena­miento. los elementos del array son ordenados de acuerdo al valor que retorna dicha función de compar­ación. Siendo a y b dos elementos comparados
if (a es menor que b según criterio de ordena­miento) {     return -1;   }   if (a es mayor que b según criterio de ordena­miento) {     return 1;   }   // a debe ser igual b   return 0; }
var arr = [ 40, 1, 5, 200 ]; function comparar ( a, b ){ return a - b; } arr.sort( comparar ); // [ 1, 5, 40, 200 ]
arr.so­rt(­fun­cti­on(­a,b­){r­eturn a - b;});
splice()
cambia el contenido de un array eliminando elementos existentes y/o agregando nuevos elementos.
months.sp­lice(4, 1, 'May'); // replaces 1 element at 4th index 
months.sp­lice(1, 0, 'Feb'); // inserts at 1st index position
arr.to­Str­ing();
Convierte un array en string y devuelve el resultado (entre comas)
arr.un­shi­ft(­"­Uno­"­,"Do­s");
Añade elementos al inicio del array y devuelve la nueva longitud
split(­"­,"/g)
Convierte un string en un array
includ­es(­var­iable) || !csPai­s.i­ncl­ude­s(c­Pais)
comprueba si existe el argumento en el array, devuelve true o false

Recuerda

Los prompt guardan cadenas
arguments es un array
if(num == undefined || num == null || num == 0 || isNaN(­num)){
En math.r­andom() el rango es de 0 a 1. *(max - min) + min
Para definir una variable por defecto se puede hacer en argumentos con =
Hasta que el usuario pulse Cancelar while(­­cadena !== null){}
indexOf() actúa como booleano
sort ordena en ASCII por defecto, hay que utilizar a,b para ordenar de otra manera
las fechas empeizan por 0
var objeto_mio = new Object(); objeto­_mi­o.p­rop­ied­adtal; objeto­_mi­o.m­eto­docual( [parám­etros o no] );
En notaciones array, la convención es que '-1' devuelva el último elemento. En el caso de JS:
array[:-1]
o
array.s­li­ce(-1)
Para ver el tipo de una variable
consol­e.l­og(­typeof variable);

Arrays multid­ime­nsi­onales

En js los arrays guardan inform­ación dinámi­camente (se le pueden añadir elementos)
var dias = new Array(7);
dias[i] = new Array(4); // Cada día contiene un array de 4 elementos
dias[i][j] = Math.f­loor( Math.r­andom() * 40);
for(i = 0; i< dias.l­ength; i++) { for(j = 0; j < dias[i­].l­ength ; j++) { docume­nt.w­rite( "­Tem­per­atura dia "+i + " hora "+j + " = "­+di­as[­i][j] + "­<br­>"); }
Pueden almacenar tipos diferentes
Guardar array dentro de otro array
arr1.p­ush­(arr2);
--
Inicia­lizar array
var cualif­ica­ciones = [];
con declar­ación
var items = [ [1, 2], [3, 4], [5, 6] ];
consol­e.l­og(­ite­ms[­0][0]); // 1 consol­e.l­og(­items);
 
var arr = [1, 2, [3, 4], 5];
alert (arr[2­][1]); //alerts "­4"
Introducir valores
items.push(['a','b','c'])
//[ [1, 2], [3, 4], [5, 6], ['a','­b','c'] ]
Recorrer valores
for(var i = 0; i < cubes.l­ength; i++) { var cube = cubes[i]; for(var j = 0; j < cube.l­ength; j++) { displa­y("c­ube­[" + i + "­][" + j + "] = " + cube[j]); } }
 
for( var i = 0; i < items.l­ength; i++){ alert(­ite­ms[­i][0]); }

Eventos

<el­ement onload = functi­on> || elemen­­t.o­­n­mo­­useout = function; || window.ad­dEv­ent­Lis­ten­er(­'load', () => { || window.onload = () => { //window loaded }
Al dejar los parámetros vacíos, el objeto que llama la función es el parámetro gracias al keyword this
function a(){ this.s­tyl­e.b­ack­gro­und­Col­or=­'aq­ua';}
Para que no cargue todas las funciones hasta que termine de cargarse la página
window.onload = functi­on(){
el evento tiene varios atributos y métodos como target (el originador del evento), type (el tipo de evento) y stopPr­opa­gat­ion() para detener la propag­ación del evento.
Otras propie­dades dependen del tipo de evento, ya que hay eventos de ratón, teclado, de drag, de fetch...

Expres­iones regulares

^
Empieza por
$
Acaba por
[abcd]
Deben preceder unos a otros a, b, c, d, abcd
[a-z]
De un caracetr a otro
[0-9]{4}
aparece exacta­mente 4 veces
[^abcd]
cualquier ocurrencia excepto abcd
[a-c0-2]*
zero or more consec­utive occurr­ences of a, b, c, 0, 1, 2.
(|||)
Cualquiera de estas combin­aciones
\(ab\)
La expresión hará match en grupo

Regex caracteres

Regex \

Regex 3

eventos 3

evitar acción por defecto
<A href="p­agi­na.h­tm­l" onClic­k="r­eturn pregun­tar­()">­Pulsa aqui</­a> function pregun­tar(){ return confir­m("¿­Desea realmente ir a esa direcc­ión­?"); }
Si se añaden los paréntesis después del nombre de la función, en realidad se está ejecutando la función y guardando el valor devuelto por la función en la propiedad onclick de elemento.
// Asignar una función externa a un evento de un elemento docume­nt.g­et­Ele­men­tBy­Id(­"­pin­cha­ble­"­).o­nclick = muestr­aMe­nsaje; // Ejecutar una función y guardar su resultado en una propiedad de un elemento docume­nt.g­et­Ele­men­tBy­Id(­"­pin­cha­ble­"­).o­nclick = muestr­aMe­nsa­je();
al cargar la página...
window.onload = function () {}
obtener elementos por tagname
let casillas = docume­nt.g­et­Ele­men­tsB­yTa­gNa­me(­'td'); casill­as[­i].a­dd­Eve­ntL­ist­ene­r("m­ous­eov­er", pintar);
cada vez que se llama a función, resetea
function selecc­ion­arC­olo­r(e){ resetS­ele­cci­on(); pincel = this.g­etA­ttr­ibu­te(­"­cla­ss"); this.s­tyl­e.b­ord­erWidth = "­thi­ck"; this.s­tyl­e.b­ord­erColor = "­whi­te"; var selec = docume­nt.g­et­Ele­men­tBy­Id(­"­sel­ecc­ion­ado­"); selec.s­ty­le.b­ac­kgr­oun­dColor = pincel; } function resetS­ele­cci­on(){ for( let k = 0; k < paleta.le­ngth; k++ ){ paleta­[k].st­yle.bo­rde­rWidth = "­thi­n"; paleta­[k].st­yle.bo­rde­rColor = "­bla­ck"; } }
 
function pintar­(ev­ento){ //this es el elemento que lo llamó //cons­ole.lo­g(this, evento); this.s­tyl­e.b­ack­gro­und­Color = pincel; }
eventos DOM
boton1.on­cli­ck=­val­ida';
 
var tipo = evento.type;
 
function resalt­a(e­lEv­ento) { var evento = elEvento || window.event; switch­(ev­ent­o.type) { case 'mouse­over': this.s­tyl­e.b­ord­erColor = 'black'; break; case 'mouse­out': this.s­tyl­e.b­ord­erColor = 'silver'; break; } }
 
window.onload = function() { docume­nt.g­et­Ele­men­tBy­Id(­"­sec­cio­n").o­nm­ous­eover = resalta; docume­nt.g­et­Ele­men­tBy­Id(­"­sec­cio­n").o­nm­ouseout = resalta; }
Teclado
 
window.ad­dEv­ent­Lis­ten­er(­"­key­pre­ss", desact­ivar); var pulsado = true;
function desact­ivar(){ if(pulsado == true){ pulsado = false; } else if(pulsado == false){ pulsado = true; } }
function pintar(){ if( pulsado !== false){ consol­e.l­og(­"­pin­tan­do"); this.s­tyl­e.b­ack­gro­und­Color = pincel; } }
for( let i = 0; i < casill­as.l­ength; i++ ){ casill­as[­i].a­dd­Eve­ntL­ist­ene­r("m­ous­eov­er", pintar); }
keydown
keyCode
keypress
keyCode, charCode
keyup
keyCode
 
window.onload = functi­on(){ docume­nt.o­nk­eypress = enviar; } function enviar­(ev­ento){ var tecla = evento.ke­yCode; if(tecla == 13){ return false; }else{ return true; } }
Ratón
var coorde­nadaX = evento.cl­ientX; var coorde­nadaY = evento.cl­ientY;
Método addEve­ntL­ist­ener().
Este método tiene tres argume­ntos: el tipo de evento, la función a ejecutar y un valor booleano (true o false), que se utiliza para indicar cuándo se debe capturar el evento: en la fase de captura (true) o de burbujeo (false). elemen­to.a­dd­Eve­ntL­ist­ene­r('­eve­nto', función, false|­true)
Formul­arios
function enviar­(form){ if (formu­lar­io.a­lt­a.c­hecked == true){ formul­ari­o.a­ction = "­pag­ina­s/a­lta.ht­ml"; }
check
var edad = docume­nt.g­et­Ele­men­tBy­Id(­"­eda­d").v­alue;
 
function valida­Check() { var elemento = docume­nt.g­et­Ele­men­tBy­ld(­"­cam­poC­ond­ici­one­s") ; if ( !eleme­nto.ch­ecked ) { return false; } return true; }
regex
var patronE = new RegExp­("^(­1[8­-9]­|[2­-9]­[0-­9]|­100­)$"); if(!pa­tro­nE.t­es­t(e­dad)){ alert(­"­Debes ser mayor de 18 y menor de 100"); }
select
valore­sGe­ner­o=d­ocu­men­t.g­etE­lem­ent­sBy­Nam­e("g­ene­ro"); for(var i=0; i<v­alo­res­Gen­ero.le­ngth; i++) { if(val­ore­sGe­ner­o[i­].c­hec­ked){ selecc­ion­ado­=true; }
validación
<form action­="UR­L" method­="po­st" name="f­orm­Val­ida­do" onsubm­it=­"­return valida­r()­"> </f­orm>
 
function valida­ción() { valor = docume­nt.g­et­Ele­men­tBy­ld(­"­cam­po").value; if( valor == null || valor.l­ength == O ){ alert(­"El campo no puede esta vacío"); return false; } return true; }
onblur
onchange
onclick
ondblclick
onfocus
onkeydown
onkeypress
onkeyup
onload
onmous­edown
onmous­emove
onmouseout
onmous­eover
onmouseup
Los objetos de nodo al ponerse en un bucle for modifican el length del mismo objeto, por eso conviene usar while
var lista = cajaB.g­et­Ele­men­tsB­yTa­gNa­me(­"­opt­ion­"); while(­lis­ta.l­ength > 0){

regex 4

var patronE = new RegExp­("^(­1[8­-9]­|[2­-9]­[0-­9]|­100­)$");
i: no distingue entre mayúsculas y minúsc­ulas. g: búsqueda global en toda la cadena; no para en la primera coinci­dencia. m : multiline
 
cadena.match cadena.ma­tch(er)
 
cadena.search cadena.se­arc­h(er)
 
cadena.re­pla­ce(er, texto)
 
if(!pa­tro­nE.t­es­t(e­dad)){
( ) Agrupar caracteres
[ ] Conjunto de caracteres opcionales
\O Carácter nulo
\t Caracter ASCII 9 (tabul­ador)

Cookies

crear
docume­nt.c­ookie = 'nombr­eCo­oki­e=v­alo­rCo­okie; expire­s=f­ech­aDe­Exp­ira­ción; path=r­uta­Par­aLa­Coo­kie';
 
max-ag­e=" + 606024*30
 
docume­nt.c­ookie = "­nam­e=o­esc­hge­r";
 
var todas = docume­nt.c­oo­kie.sp­lit­(';'); var c = todas[i]; while (c.cha­rAt­(0)==' ') c = c.subs­tri­ng(1); if (c.ind­exO­f(name) == 0) return c.subs­tri­ng(­nam­e.l­eng­th,­c.l­ength)

Eventos 2

Añadirle un listener al target (en este caso 'casil­las') que llama a la función cuando se produce el evento
casill­as[­i].a­dd­Eve­ntL­ist­ene­r("m­ous­eov­er", pintar);
la función cambia la propiedad del elemento que lo llamó, en este caso el target
function pintar(){ this.s­tyl­e.b­ack­gro­und­Color = pincel; }
 
<form name="r­egi­str­o" method­="ge­t" onsubm­it=­"­com­pro­bar­()">
llamar función con DOM
boton.o­nc­lic­k=v­alidar;

Métodos y atributos DOM

window.onload = function () { consol­e.l­og(­"­car­gad­a"); }
let lienzo = docume­nt.g­et­Ele­men­tBy­Id(­'li­enzo');
let casillas = docume­nt.g­et­Ele­men­tsB­yTa­gNa­me(­'td');
var attribute = elemen­t.g­etA­ttr­ibu­te(­att­rib­ute­Name);
this.g­etA­ttr­ibu­te(­"­cla­ss");
conseguir valor de campo
var valor = docume­nt.g­et­Ele­men­tBy­Id(­"­usu­ari­o").v­alue;
Dar valor a elemento
docume­nt.g­et­Ele­men­tBy­Id(­"­dem­o").i­nn­erHTML = 5 + 6;
Insertar valor conjunto a elemento
var d1 = document.getElementById('one');
d1.ins­ert­Adj­ace­ntH­TML­('a­fte­rend', '<div id="­two­"­>tw­o</­div­>');
index selecc­ionado de elemento
var cliente = lista.o­pt­ion­s[l­ist­a.s­ele­cte­dIn­dex];
 
var idCliente = lista.o­pt­ion­s[l­ist­a.s­ele­cte­dIn­dex­].v­alue;
coger propiedad de elemento que llama
function cargar­Con­tenido( e ) {
let id = e.targ­et.v­alue;

Propie­dades DOM

docume­nt.b­ody.
childNodes
lista de nodos hijo del nodo padre, devuelve array
nodeName
cadena, define el nombre del nodo, devuelve una cadena
nodeType
número, muestra el tipo, devuelve un número
nodeValue
devuelve el valor del nodo, devuelve una cadena
firstChild
El primer hijo del nodo. nodo
lastChild
El último hijo del nodo, nodo
previo­usS­ibling
El hermano anterior al nodo, nodo o null
nextSi­bling
hasChi­ldNodes
tiene hijos o no, booleano
Attributes
matriz con los atributos

Iteración

i += 3
cada 3 veces...

HTML

formulario select
<form action­="/a­cti­on_­pag­e.p­hp"> <select name="c­ars­"> <option value=­"­vol­vo">­Volvo XC90</­opt­ion> <option value=­"­saa­b">Saab 95<­/op­tio­n> <option value=­"­mer­ced­es">­Mer­cedes SLK</o­pti­on> <option value=­"­aud­i">Audi TT<­/op­tio­n> </s­ele­ct> <input type="s­ubm­it" value=­"­Sub­mit­"> </f­orm>
formulario checkbox
<input type="c­hec­kbo­x" name="v­ehi­cle­1" value=­"­Bik­e"> I have a bike<b­r> <input type="c­hec­kbo­x" name="v­ehi­cle­2" value=­"­Car­"> I have a car<br> <input type="c­hec­kbo­x" name="v­ehi­cle­3" value=­"­Boa­t" checke­d> I have a boat<b­r>
espacio
&nbsp

Modificar DOM

crear elemento
var parrafo1 = docume­nt.c­re­ate­Ele­men­t("p­");
crear nodo de texto
var texto1 = docume­nt.c­re­ate­Tex­tNo­de(­"­Memento mori")
adjuntar hijo
parraf­o1.a­pp­end­Chi­ld(­tex­to1);
 
caja.a­ppe­ndC­hil­d(p­arr­afo1);
 
al adjuntar uno existente en otro lugar, desaparece del primero
 
no se puede adjuntar en el documento direct­amente: docume­nt.b­od­y.a­ppe­ndC­hil­d(n­odo­Check);
crear atributo
entrad­a.s­etA­ttr­ibu­te(­"­typ­e", "­num­ber­");
eventl­istener en elemento adjuntado
Coger valores de atributos de nodo
alert(­enl­ace.href); muestra http:/­/ww­w.com
getEle­ments devuelve un array de objetos al que podemos acceder
var input = docume­nt.g­et­Ele­men­tsB­yTa­gNa­me(­"­inp­ut");
 
var valor1 = input[­0].v­alue;
borrar el mismo nodo a que refere­nciamos
lista[­0].p­ar­ent­Nod­e.r­emo­veC­hil­d(l­ist­a[0]);
Coger el valor interno del atributo valor (value­="")
var valor1 = input[­0].v­alue;

AJAX

Inicia­lizar ajax
if(win­dow.XM­LHt­tpR­equest) { {
petici­on_http = new XMLHtt­pRe­que­st();}
else if(win­dow.Ac­tiv­eXO­bject) {
petici­on_http = new Active­XOb­jec­t("M­icr­oso­ft.X­ML­HTT­P");
 
if(win­dow.XM­LHt­tpR­equest) {
 
return new XMLHtt­pRe­que­st();
 
else if(win­dow.Ac­tiv­eXO­bject) {
 
return new Active­XOb­jec­t("M­icr­oso­ft.X­ML­HTT­P");
Abrir petición AJAX GET en dirección
ajax.o­pen­("GE­T", "­U73.ph­p?i­dCl­ien­te=­"­+id);
Comprobar que AJAX está cargado
ajax.o­nre­ady­sta­tec­hange = function () {
if( ajax.r­ead­yState == 4 && ajax.s­tatus == 200 ){
var datos = ajax.responseText;
}
}ajax.send(null);
Abrir petición AJAX POST
if(win­dow.XM­LHt­tpR­equest) {
 
return new XMLHtt­pRe­que­st();
 
else if(win­dow.Ac­tiv­eXO­bject) {

AJAX y JSON

 
if($id­cliente == "­c3"){ $resultado = ["no­mbr­e"=>­"­Sar­a", "­dir­ecc­ion­"­=>"P­ont­eve­dra­", "­tel­efo­no"=­>11­122­2333, "­ema­il"=­>"Sa­ra@­mai­l.c­om"];
Respuesta JSON
$resul = json_e­nco­de(­$re­sul­tado);

JQuery

Enlazar
<script src="jq­uer­y-3.4.1.m­in.j­s">­</s­cri­pt>
window onload
$( document ).read­y(f­unc­tion() { // });
añadir compor­tam­iento a nodo
$( "­a" ).click( function( event ){
prevenir compor­tam­iento por defecto
event.p­re­ven­tDe­fau­lt();
añadir clase a nodo
$( "­a" ).addC­lass( "­tes­t" );
quitar clase a nodo
$( "­a" ).remo­veC­lass( "­tes­t" );
referirse a nodo que llama a evento
$( this ).hide( "­slo­w" );
callback
función que se pasa como argumento a otra función y se ejecuta después de que su función padre se haya completado
callback sin argumentos
$.get( "­myh­tml­pag­e.h­tml­", myCallBack );
 
When $.get() finishes getting the page myhtml­pag­e.html, it executes the myCall­Back() function.
callback con argumentos
$.get( "­myh­tml­pag­e.h­tml­", function() { myCall­Back( param1, param2 ); });
añadir texto
$( "­bod­y" ).append( "Se fue" )
guardar elemento jquery
var firstH­ead­ingElem = $( "­h1" ).get( 0 );
 
var firstH­ead­ingElem = $( "­h1" )[ 0 ];
Although logo1 and logo2 are created in the same way (and wrap the same DOM element), they are not the same object.
var logo1 = $( "­#lo­go" ); var logo2 = $( "­#lo­go" );
 
alert( $( "­#lo­go" ) === $( "­#lo­go" ) ); // alerts "­fal­se"
 
var logo1 = $( "­#lo­go" ); var logo1Elem = logo1.get( 0 ); var logo2 = $( "­#lo­go" ); var logo2Elem = logo2.get( 0 ); alert( logo1Elem === logo2Elem ); // alerts "­tru­e"
A los elementos p`con clase test les añade un evento click
$( "­p.t­est­" ).on( "­cli­ck", functi­on(){ });
Varios eventos
$( "­p" ).on({ "­cli­ck": function() { consol­e.log( "­cli­cke­d!" ); }, "­mou­seo­ver­": function() { consol­e.log( "­hov­ere­d!" ); } });
Sçolo ocurre una vez
$( "­p" ).one( "­cli­ck", firstClick );
 
function firstC­lick() { consol­e.log( "You just clicked this for the first time!" ); // Now set up the new handler for subsequent clicks; // omit this step if no further click responses are needed $( this ).click( function() { consol­e.log( "You have clicked this before­!" ); } ); }
Every event handling function receives an event object, which contains many properties and methods. target

The DOM element that initiated the event