{"id":21306709,"url":"https://github.com/brian-emarquez/javascript-course","last_synced_at":"2026-05-18T08:33:37.178Z","repository":{"id":106516531,"uuid":"325454613","full_name":"brian-emarquez/JavaScript-Course","owner":"brian-emarquez","description":"JavaScript is among the most powerful and flexible programming languages of the web. It powers the dynamic behavior on most websites, including this one.","archived":false,"fork":false,"pushed_at":"2021-08-13T03:52:52.000Z","size":25390,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-22T09:11:13.583Z","etag":null,"topics":["html5","inteligencia-artificial","intelij","javascript"],"latest_commit_sha":null,"homepage":"https://github.com/BrianMarquez3","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/brian-emarquez.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-12-30T04:30:27.000Z","updated_at":"2021-08-13T03:52:55.000Z","dependencies_parsed_at":null,"dependency_job_id":"116a566e-baec-4e33-8523-ef3026322b10","html_url":"https://github.com/brian-emarquez/JavaScript-Course","commit_stats":null,"previous_names":["brian-emarquez/javascript-course"],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-emarquez%2FJavaScript-Course","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-emarquez%2FJavaScript-Course/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-emarquez%2FJavaScript-Course/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/brian-emarquez%2FJavaScript-Course/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/brian-emarquez","download_url":"https://codeload.github.com/brian-emarquez/JavaScript-Course/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243784102,"owners_count":20347409,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["html5","inteligencia-artificial","intelij","javascript"],"created_at":"2024-11-21T16:27:33.717Z","updated_at":"2026-05-18T08:33:32.131Z","avatar_url":"https://github.com/brian-emarquez.png","language":"JavaScript","funding_links":["https://www.paypal.com/donate?hosted_button_id=98U3T62494H9Y"],"categories":[],"sub_categories":[],"readme":"\u003ch2 align=\"center\"\u003e JavaScript-Course - From Zero to Advanced\u003c/h2\u003e\n\n\u003cp align=\"center\"\u003e\n  \n  \u003cp align=\"center\"\u003e\n  \n   \u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/top/BrianMarquez3/JavaScript-Course?color=red\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/BrianMarquez3/JavaScript-Course/stargazers\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/stars/BrianMarquez3/JavaScript-Course.svg?style=flat\" alt=\"Stars\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/BrianMarquez3/JavaScript-Course/network\"\u003e\n    \u003cimg src=\"https://img.shields.io/github/forks/BrianMarquez3/JavaScript-Course.svg?style=flat\" alt=\"Forks\"\u003e\n  \u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/v/tag/BrianMarquez3/JavaScript-Course?color=gren\u0026label=Version\u0026logo=JavaScript\"\u003e\n  \u003c/a\u003e\n  \n  \u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/languages/code-size/BrianMarquez3/JavaScript-Course\"\u003e\n  \u003c/a\u003e\n  \n  \u003c/a\u003e\n    \u003cimg src=\"https://img.shields.io/github/downloads/BrianMarquez3/JavaScript-Course/total?color=violet\"\u003e\n  \u003c/a\u003e\n  \n   \u003c/a\u003e\n   \u003ca href=\"https://github.com/BrianMarquez3/JavaScript-Course/network\"\u003e\n    \u003cimg src=\"https://img.shields.io/badge/Plataform-Windows-blue\"\u003e\n  \u003c/a\u003e\u003cbr\u003e\n \n  \u003cimg src=\"https://img.shields.io/github/last-commit/BrianMarquez3/JavaScript-Course?color=yellow\u0026style=for-the-badge\"\u003e\n  \u003cimg src=\"https://img.shields.io/github/languages/count/BrianMarquez3/JavaScript-Course?style=for-the-badge\"\u003e\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" style=\"padding=0;width=50%;\"\u003e\n      \u003cimg align=\"center\" style=\"padding=0;\" src=\"./images/js.gif\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n   \n## Instalación\n\n📦 [Install Visual studio Code](https://code.visualstudio.com/) Intalador de Visual Studio Code \u003cbr\u003e\n📦 [Install Node.js](https://nodejs.org/es/download/) Instalador de Node.\u003cbr\u003e\n📦 [Install IntelliJ IDEA](https://www.jetbrains.com/es-es/idea/download/#section=windows) Intalador IntelliJ IDEA.\u003cbr\u003e\n📦 [Install Prepros](https://prepros.io/) Intalador de Prepros.\u003cbr\u003e\n\n## HackerRank Javascript Certificate\n\n\u003ca href=\"Skills%20Certification/Certified%20JavaScript%20Basic.png\"\u003e\n      \u003cimg src=\"Skills Certification/Badges/javascript_basic_skill.png\" alt=\"Javascript (Basic) Certificate\"/\u003e\n\u003c/a\u003e\n\n\n## Tabla de contenidos\n\n| Numeration   | Check  |Topic          | Quantization   |     link          |\n| ------------ |--------|-------------- |--------------- |------------------ |\n|  A    |:heavy_check_mark: | [Que es JAVASCRIPT](#Que-es-JAVASCRIPT)   |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n|  B    |:heavy_check_mark: | [Brendan Eich](#Brendan-Eich)  |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n|  C    |:heavy_check_mark: | [Historia de JavaScript](#Historia-de-JavaScript)  |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n|  D    |:heavy_check_mark: | [Como y donde escribir JavaScripts](#Como-y-donde-escribir-JavaScripts)  |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n|  E    |:heavy_check_mark: | [Sintaxis de JavaScritp](#Sintaxis-de-JavaScritp)   |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n|  F    |:heavy_check_mark: | [Variables, constantes y sus Ambitos](#Variables-constantes-y-sus-Ambitos)  |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n|  G    |:heavy_check_mark: | [Declaracion Inializacion y Modificacion](#Declaracion-Inializacion-y-Modificacion)   |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 001   |:heavy_check_mark: | [Tipos de datos en javaScript](#Tipos-de-datos-en-javaScript)   |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 002   |:heavy_check_mark: | [Tipos de Operadores](#Tipos-de-Operadores)  |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 003   |:heavy_check_mark: | [Strings](#Strings)   |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 004   |:heavy_check_mark: | [Objetos Math](#Objetos-Math)  | :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 005   |:heavy_check_mark: | [Condicionales](#Condicionales)   | :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 006   |:heavy_check_mark: | [Operadores Logicos](#Operadores-Logicos)   | :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 007   |:heavy_check_mark: | [Condicinal Switch](#Condicinal-Switch)   | :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 008   |:heavy_check_mark: | [Ordenar 3 numero de mayor a menor](#008-ordenar-3-numero-de-mayor-a-menoro)   |:hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 009   |:heavy_check_mark: | [Operador Ternario](#operador-ternario)   |:hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 010   |:heavy_check_mark: | [Array](#array)   |:hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 011   |:heavy_check_mark: | [Arrays II](#Arrays-II)  |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 012   |:heavy_check_mark: | [Bucles](#Bucles) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 013   |:heavy_check_mark: | [Bucle for](#Bucle-for) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 014   |:heavy_check_mark: | [Bucle for of](#Bucle-for-of) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 015   |:heavy_check_mark: | [Objetos](#Objetos) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) |\n| 016   |:heavy_check_mark: | [Funciones](#Funciones) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 017   |:heavy_check_mark: | [POO](#POO) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 018   |:heavy_check_mark: | [Metodos de los Arrays](#Metodos-de-los-Arrays) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) |\n| 019   |:heavy_check_mark: | [Metodos de los Arrays](#Spread-operator) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 020   |:heavy_check_mark: | [DOM](#DOM) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 021   |:heavy_check_mark: | [Seleccion de Elementos](#Seleccion-de-Elementos) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 022   |:heavy_check_mark: | [Atributos y Clases](#Atributos-y-Clases) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 023   |:heavy_check_mark: | [Eventos raton teclado](#Eventos-raton-teclado) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 024   |:heavy_check_mark: | [Objeto Evento](#Objeto-Evento) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) | \n| 025   |:heavy_check_mark: | [Objeto Evento 2](#Objeto-Evento-2) |  :hourglass:    | [ ⬅️ Atras](https://github.com/BrianMarquez3) |\n\n---\n\n![javascripts](./images/js1.png)\n\n## Que es JAVASCRIPT\n\n- JavaScript es un lenguaje de Programacion.\n- Lo creó Brendan Eich en una semana.\n- Es el Unico Lenguaje de programacion que puede interpretar el navegador.\n- El nombre se le puso por que en ese momento esta de moda java.\n- JavaScript ha sido mal visto desde su inicio hasta el 2009 aproximadamente.\n\n## Brendan Eich\n\n![javascript](./images/Brendan_Eich.jpg)\n\nes un programador estadounidense conocido por inventar el lenguaje de programación JavaScript.\n\nBrendan Eich recibió su Bachiller en matemáticas y ciencias de la computación en la Universidad de Santa Clara. Recibió su maestría en 1986 de la Universidad de Illinois en Urbana-Champaign. [WIKIPEDIA](https://es.wikipedia.org/wiki/Brendan_Eich).\u003cbr\u003e\n\n---\n## Historia de JavaScript \n\n - 1995 - Netscape crea JavaScript\n - 1997 - Netscape se lleva JavaScript a ECMA (European Computer Manufactures \n Assiciation)\n - 1997 - Se lanza el estadar ECMA-262 y se crea ECMASscript 1.0\n - 1998 - exmaScript 2 - Ajuste con el estandar Internacional.\n - 1999 - ECMAScript 3\n - 2009 - ECMAScript 5\n - 2011 - ECMAScript 5.1\n - 2015 - ECMAScript 6\n ---\n\n* Tecnologias Descendientes de JavaScrip\n\nTecnologias Independiente:\n- Ajax\n- jQuery\n- nodeJS\n- JSON\n\n---\n* Framworks\n\n- Angular\n- React\n- VueJs\n\n---\n## Como y donde escribir JavaScripts\n\n- La Consola del Navegador directamente\n- Instalar Node.js\n- Atom\n- Visual Studio Code\n- Brackets\n- Notepad++\n- Bloc de Notas\n\n---\n## Sintaxis de JavaScritp\n\n- Es case senstive.\n  Numero no es igual a numero.\n\n- Es tipado de debil o dinamico\n  Las variables son de tipo del dato que almacenen.\n\n- La sentencia dinalizan con ;\n  No es obligatorio pero es muy reocmendable\n\n- Los Bloques finalizan con }\n  de forma opcional se puede anadir un ; despues de }\n\n---\n## Variables constantes y sus Ambitos \n\n- Una Variable es un espacio que reservamos en memoria para almacenar un dato que podra cambiar durante la ejecucion de nuestro programa.\n\n- La Palabra reservada para declarar variables es \u003cstrong\u003elet\u003c/strong\u003e no es recomendable usar \u003cstrong\u003evar\u003c/strong\u003e\n\n- Las Variables se puedem: declarar, inicializar y modificar\n\n- Las constante es un espacio re reservamos en memori para alamecer un dato que no cambiará durante la ejecucion de nuestro programa\n\n    *La Palabra reservada para declarar constantes es \"const\"\n\n  - scape o ambito es la sona donde exite nuestra variable o constante\n\n---  \n## Declaracion Inializacion y Modificacion\n\n- Una variable se declara con la siguiente estructura:\n\n    ```js\n    let numero;\n    ```\n\n- Una variable se inicializa con la siguiente estructura:\n\n    ```js\n    numero = 5;\n    ```\n\n- se puede declarar e iniciar en la misma sentencia:\n\n    ```js\n    let numero 5;\n    ```\n\n- para modificar el valro de una variable existe:\n\n    ```js\n    numero = 3;\n    ```\n\n---\n## Tipos de datos en JavaScript\n\n- Primitivos\n  - \u003cstrong\u003e Numero \u003c/strong\u003e -\u003e let numro = 5;\n  - \u003cstrong\u003e Strings(cadenas) \u003c/strong\u003e -\u003e let palabra = \"Hola; | let palabra = \"Hola;\n  - \u003cstrong\u003e Boolean \u003c/strong\u003e -\u003e respuesta = true; | let respuesta = false;\n  - \u003cstrong\u003e Undefined \u003c/strong\u003e\n  - \u003cstrong\u003e Null\u003c/strong\u003e\n  - \u003cstrong\u003e Symbol \u003c/strong\u003e\n\n|Number | Carpeta      | Link        |    Code     | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:| \n|000    |[Hello Worls](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/000%20Hello%20World) |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos) |\n\n\n|Number | Carpeta      | Link        |    Code     | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:| \n|001    |[Variables](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/001%20Variables) |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos) |\n\n---\n\n## Tipos de Operadores\n\nTipos de operadores\nEn JavaScript encontramos cinco tipos de operadores:\n\n    Aritméticos\n    Lógicos\n    De comparación\n    Binarios\n    De asignación\n    Otros \n\nOperadores aritméticos\n\n```js\n    Suma (+). Suma dos números: 3 + 2 = 5 .\n```\n\n```js\n    Resta (-). Halla la diferencia entre dos números.\n```\n```js\n    Negativo (-). Indica el signo negativo de un número o una expresión: -3.\n```\n```js\n    División (/). Divide dos números, obteniendo un cociente de coma flotante: 5 / 2 = 2.5 . \n```\n```js\n    Módulo aritmético %. Divide dos números, obteniendo un resto entero: 5 % 2 = 1 .\n```\n```js\n    Multiplicación (*). Multiplica dos números: 3 * 2 = 6 .\n```\n\n## Asignacion\n\n\u003ctable style=\"text-align:center;\" class=\"asignacion\" \u003e\n  \u003ctr\u003e\n    \u003ctd colspan=\"3\"\u003easignacion\u003c/td\u003e\n  \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eAsignacion\u003c/td\u003e\n        \u003ctd\u003e = \u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eSuma y Asignacion\u003c/td\u003e\n        \u003ctd\u003ea +=3(a=a+3)\u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n        \u003ctd\u003eResta y Asignacion\u003c/td\u003e\n        \u003ctd\u003ea -=3(a=a-3)\u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n        \u003ctd\u003eMultiplicacion y Asignacion\u003c/td\u003e\n        \u003ctd\u003ea *=3(a=a*3)\u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n        \u003ctd\u003eMultiplicacion y Asignacion\u003c/td\u003e\n        \u003ctd\u003ea /=3(a=a/3)\u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n        \u003ctd\u003eModulo y Asignacion\u003c/td\u003e\n        \u003ctd\u003ea %=3(a=a%3)\u003c/td\u003e\n      \u003c/tr\u003e\n\u003c/table\u003e\n\n## Incremento / Decremento\n\n\u003ctable style=\"text-align:center;\" class=\"asignacion\" \u003e\n  \u003ctr\u003e\n    \u003ctd colspan=\"3\"\u003eIncremento / Decremento\u003c/td\u003e\n  \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003ePost-incremento\u003c/td\u003e\n        \u003ctd\u003e a++ \u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003ePre-incremento\u003c/td\u003e\n        \u003ctd\u003e ++a \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n        \u003ctd\u003ePost-decremento\u003c/td\u003e\n        \u003ctd\u003ea a-- \u003c/td\u003e\n      \u003c/tr\u003e\n     \u003ctr\u003e\n        \u003ctd\u003ePre-decremento\u003c/td\u003e\n        \u003ctd\u003e --a \u003c/td\u003e\n      \u003c/tr\u003e\n     \n\u003c/table\u003e\n\n\n|Number | Carpeta      | Link        |    Code     | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:| \n|002    |[Tipo de Operadores](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/002%20Tipo_de_Operadores) |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos) |\n\n---\n## Strings\n\n### Metodos y propiedades de los String\n\n- METODO : es aquello que la cadenas pueder ejercer, Ej: Covertirse en mayúslas\n- PROPIEDAD: son las caracteristicas que la cadena tiene por ser cadena: Ej: Longitud \u003cbr\u003e\n  \nse emplean usando la nomeclatura del punto: \u003cbr\u003e\n    cadenas.metodo \u003cbr\u003e\n    cadena.propiedad \u003cbr\u003e\n\n### Ejemplos \n\n[W3School JavaScripts](https://www.w3schools.com/js/js_strings.asp)\n    \n\n\n|Number | Carpeta      | Link        |    Code     | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:| \n|003    | [Strings](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/003%20Strings) |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos) |\n\n\n\n---\n\n## Objetos Math\n\n\n* E sun objeto que se utiliza para operaciones matematicas mas especificas\n* Al ser un objeto tamien utliza la nomenclatura del punto\n\n### Propiedades:\n    * Math.E - Math.Pi\n\nMetodos: \u003cbr\u003e\n\n```JS\n    - Math.abs(x) : Devuelve el valor absoluto de x \u003cbr\u003e\n    - Math.ceil(x) : Devuelve el entero mas grande mayor o igual que un numero. \u003cbr\u003e\n    - Math.floor(x) : Devuelve el entero mas pequeño menor o igual que un numero. \u003cbr\u003e\n    - Math.pow (x,y) : Devuelve la potencia de x elevado a y \u003cbr\u003e\n    - Math.randon() : Genera un numero psucoaleatorio entre 0 y 1 \u003cbr\u003e\n    - Math.raound(x) : Devuelve el valor de un numero redondeado al entero mas cercano. \u003cbr\u003e\n    - Math.sign(x) : Devuelve el signo de la x, que indica si x es posotovo , negativo o cero. \u003cbr\u003e\n```\n    \n\n|Number | Carpeta      | Link        |    Code     | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:| \n|004    | [Objetos Math](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/004%20Objeto_Math) |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos) |\n\n---\n## Condicionales\n\n\n_Estructuras de control de flujo:_\n\n    - Condicionales\n        Simples\n        Compuestos\n        Multiples\n\n    - Bucles\n        Determinados\n        Indeterminados\n\n### Sintaxis\n\n-   Sintaxis Simple:\n    \u003cbr\u003e\n    ```js\n    if(condicion){\n    //Codigo\n    }\n    ```\n\n-   Sintaxis Compuesto:\n    \u003cbr\u003e\n    ```js\n    if(condicion){\n    //Codigo\n    }else{\n    //codigo\n    }\n    ```\n    \n|Number | File         | Link        |  Code       | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|005    | [Condicionales](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/005%20Condicionales) |   |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos)|\n    \n---\n\n## Operadores Logicos\n\n|Number  | File         | Link        |  Code       | Version     | Estado      | Atras       |\n|--------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|006     | [operadores Logico](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/006%20operadores_Logicos) |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos)|\n\n\n---\n\n## Condicinal Switch\n\n- Se utiiza para elegir un camino de varios prestablecdos:\n\n```js\nswitch (expresión) {\n  case valor1:\n    //Declaraciones ejecutadas cuando el resultado de expresión coincide con el valor1\n    [break;]\n  case valor2:\n    //Declaraciones ejecutadas cuando el resultado de expresión coincide con el valor2\n    [break;]\n  ...\n  case valorN:\n    //Declaraciones ejecutadas cuando el resultado de expresión coincide con valorN\n    [break;]\n  default:\n    //Declaraciones ejecutadas cuando ninguno de los valores coincide con el valor de la expresión\n    [break;]\n}\n```\n\n|Number |   File       | Link        |  Code       | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|007    | [Condicional Swich](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/007%20Condicional%20Swich) |     heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos) |\n\n---\n## Ordenar 3 numero de mayor a menor\n\n|Number  | File         | Link        |     Code    | Version     | Estado      | Atras       |\n|--------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|008     | [Ordenar 3 numero de mayor a menor](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/008%20ordenar%203%20numero%20de%20mayor%20a%20menor) |     :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n---\n\n## Operador Ternario\n\n- Se utliza cuando una condicion serña TRUE O FALSE , al igual que el if.\n- Su ejecucion puede tener una o varias sentenciasm en este caso iran separadas por comas y entre parentesis.\n\n### Sintaxis\n* Una sentencia\n\n```js\n(condicion)? true:false\n```\n\n* Varias Sentencias\n\n```js\n(condicion)? \n    (primera_sentenca,\n    segunda_sentencia)\n```\n\n|Number | Carpeta       | Link        |  Code       | Version     | Estado      |Atras        |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|009    | [Operador Ternario](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/009%20operador%20ternario) |      :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  |⬅️ [Atras](#Tabla-de-contenidos)  |\n\n---\n\n## Array \n\n- son estructuras que nos permiten almacenar varios dartos agrupados\n- se pueden llenar con cualquier tipo de dato valido en javascript y deben ir separados por comas\n- se puden mezclar tipos de datos, pero no es recomendable\n- se declaran con llaves cuadradas o corchetes\n- Puweden declararse vacios o con un conetenido ya establecido\n- Pueden añadirse  o eliminarse elementos en el momento que quedramos\n\n### Sintaxis\n\n```js\nlet array =[]\nlet array = [1,2,3,4,5,]\n```\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" style=\"padding=0;width=50%;\"\u003e\n      \u003cimg align=\"center\" style=\"padding=0;\" src=\"./images/array.png\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n   \n\n|Number | File         | Link        |  Code       | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|010    | [Array](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/010%20Array) |    :heavy_check_mark:      | yes | yes | yes |  :heavy_check_mark:  | ⬅️ [Atras](#Tabla-de-contenidos)|\n\n---\n\n## Arrays II\n\n|Number | Carpeta      | Link        |     Code    | Version     | Estado      | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|011    | [ArrayII](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/011%20Array%20II) |    :heavy_check_mark:      | yes | yes | yes | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n## Bucles \n\n- Se usan cuando queremos que un trozo de codigo se repita.\n\n - Esite buvles determinaso e indeterminados\n\n    * Bucle While:\n    Es un bucle indeterminado ya queno sabemos cuantas vueltas dará durante la ejecucion.\n\n    ```js\n    while(condicion){\n\n        //codigo a ejecutar\n    }\n    ```\n\n    * Bucle D While\n    Es un buble indeterminado ya que no sabmos cuantas vueltas dará durante la ejecucion\n\n     ```js\n    do{\n\n     //codigo a ejecutar\n    }while(condicion)\n\n    \n    ```\n\n|Bucles | File      | Link        |  Code       | Version     | Estado      | Atras       |\n|:-----:|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|012    | [Bucles ](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/012%20Bucles) |    :heavy_check_mark:      | yes | yes | yes |⬅️ [Atras](#Tabla-de-contenidos) | \n\n---\n\n## Bucle for\n\n|Number| Carpeta      | Link        |  Code       | Version     | Estado      | Atras       |\n|:----:|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|013   | [Bucle for](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/013%20Bucle%20for) |    :heavy_check_mark:      | yes | yes | yes | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n---\n## Bucle for of\n\n|Number| File        | Link        |    Code     | Version     | Estado      | Atras  |\n|------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|:------:|  \n|014| [Bucle for of ](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/014%20Bucles%20for%20of) |    :heavy_check_mark:      | yes | yes | yes | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n## Objetos\n\n### Objetos - Introduccion\n \nSon estructuras de datos que representan propiedades, valores y acciones que pueden realizar el objeto\n\nTodos lo objetos tienen propiedades o atributos y comportammientos o acciones representados por pares de clave(key)(value)\n\n\n== Objetos Ejemplo ==\n\n```js\nconst computer = {\n    screensize: 17,\n    model:'Macbook Pro'\n}\n```\n\n\n```js\nconst table = {\n    material: 'madera',\n    width: 160,\n    height: 110\n}\n```\n### Acceso al Objeto\n\npara acceder a las propierdades y acciones del objeto se utiliza la nomanclatura del punto\n\n```js\nconst person = {\n    name: 'brian',\n    age:'26',\n    sons: ['laura', 'diego']\n}\n\nconsole.log(person, name)\nconsole.log(person, age)\nconsole.log(person, sons[0])\nconsole.log(person, sons[1])\n```\n\n|Number | Carpeta      | Link        |     Code       | Version     | Estado   | Atras       |\n|-------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|015    | [Objetos ](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/015%20Objetos) |    :heavy_check_mark:      | yes | yes | yes | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n---\n\n## Funciones\n\n|Number| File         | Link        |     Code       | Version  | Estado     | Atras        |\n|------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|016   | [Funciones](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/016%20Funciones) |    :heavy_check_mark:      | yes | yes | yes | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n\n## POO\n\n### Programacion Orientada a Objetos\n\n- Es un aparedigma de la programacion que actualiza las forma de programar anterior\n\n- Algunos de lo conceptos fundamentales son:\n\n    - Clase\n    - Herencia\n    - Objeto\n    - Evento\n\n### Con la llegada de EMA Scrip 6\n\n- Se crea un objeto, a esa accion se le denomina INTANCIAR un objeto\n- Necesitamos una funcion construcctora. se tiene que llamar constructor y se ejecuta cada ves que creemos un obje\n- \n\n**Ejemplo**\n\n```js\nclass Persona{ // en no,bre de la clae se coloca con mayuscula\n    constructor(nombre, apellido, edad){  // se usa oblidaso constructor\n        this.nombre = nombre // hace referencia al objeto que creamos\n        this.apellido = apellido\n        this.edad = edad\n    }\n```\n### Clases - Metodos\n\n_Los Objetos peuden tener funciones asociadasa él. En ese caso se les denomina METODOS._\n\n- para crear un objeto la clases o plantilla sehace con la palabra reserbada `new` y el nombre de la clase que queremos utilizar\n\n|Number| File         | Link        |    Code     | Version     | Estado      | Atras       |\n|------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|017   | [POO ](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/017%20POO%20-%20Clases) |    :heavy_check_mark:      | yes | yes | yes |⬅️ [Atras](#Tabla-de-contenidos)| \n\n\n## Metodos de los Arrays\n\n`.from` (iterable) - Conierte en array el elemento iterable \u003cbr\u003e\n`.sort`(callback) - ordena los elemetos de un array alfabeticamente(valor unicaode)\u003cbr\u003e\n`.forEach` - ejecuta la funcion indicada una ves por cada elemento array\u003cbr\u003e\n`.some` (callback) - comprueba si al meno un elemento del array cumple la conducion\u003cbr\u003e\n`.every`(callback) - comprueba si todos los elementos del array cumplen la condicion\u003cbr\u003e\n`.map`(callback) - Transforma todos los elelentso del array y devuelve un nuevo array\u003cbr\u003e\n`.map`(callback) - Transforma todos los elelentso del array y devuelve un nuevo array\u003cbr\u003e\n`.filter` - trnasoforma todos los elementos del array y devuelven un nuevo array\u003cbr\u003e\n`.reduce` - Reduce todos los elelentos del array a un unico valor\u003cbr\u003e\n\n|Number| File         | Link        |    Code     | Version     | Estado      | Atras       |\n|------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|018   | [Metodos de los Arrays ](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/018%20Metodo%20de%20lo%20arrays) |    :heavy_check_mark:      | yes | yes | yes |⬅️ [Atras](#Tabla-de-contenidos)|\n\n## Spread operator\n\n```js\nconst numbers = [-12, 2, 3, 23, 43, 2, 3]\nconsole.log(...numbers); // se observa numero separados\n\n\nconst addNumbers = (a,b,c,) =\u003e{\n    console.log(a+b+c)\n}\n```\n\n|Number| File         | Link        |   Code       | Version     | Estado     | Atras       |      \n|------|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|019   | [Spread operator](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/019%20Spread%20operator) |    :heavy_check_mark:      | yes | yes | yes | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" style=\"padding=0;width=50%;\"\u003e\n      \u003cimg align=\"center\" style=\"padding=0;\" src=\"./images/dom.jpeg\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n---\n## DOM\n\nEs toda la estructura HTML del documento.\nNo es JavaScript, es una API (Aplication Programing Interface)\n\n```js\n\u003c!DOCTYPE html\u003e\n\u003chtml lang=\"en\"\u003e\n\u003chead\u003e\n    \u003cmeta charset=\"UTF-8\"\u003e\n    \u003ctitle\u003e DOM \u003c/title\u003e\n\u003c/head\u003e\n\u003cbody\u003e\n\n    \u003ch1 id=\"title\" class=\"title\"\u003e DOM Documents Object Model\u003c/h1\u003e\n    \n\u003c/body\u003e\n\u003c/html\u003e\n```\n\n### Representacion\n\n```powershell\n\n+---DOCUMENT\n    +---LANG\n    \\---HTML\n        +---HEAD\n        |   +---META\n                \\---CHARSET\n        |   +---TITLE\n                \\---DOM\n        +--- BODY\n        |   +---BODY\n        |   +---H1\n        |       +---ID\n        |       +---CLASS\n        |       \\---TEXT\n\n```\n\n### Nodos\n\nCada parte del arbol del documento es un NODO\n\nHay varios tipos de nodos, los mas utilizados son:\n\n    * Element node - 1 (cualuier etiqueta HTML)\n    * Text node - 3 (El Contenido de la etiqueta)\n    * Comment node - 8 (Culquier comentario en HTML)\n\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" style=\"padding=0;width=50%;\"\u003e\n      \u003cimg align=\"center\" style=\"padding=0;\" src=\"./images/Dom1.png\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n   \n| Number  |File            | Link        |     Code    | Version     | Estado      | Atras       |\n|:-------:|:--------------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|020     | [DOM](https://github.com/BrianMarquez3/JavaScript-Course/blob/main/020%20DOM) |    :heavy_check_mark:      | yes | yes | yes |yes |⬅️ [Atras](#Tabla-de-contenidos)|\n\n## Seleccion de Elementos\n\n| Number  | File         | Link        |  Code       | Version     | Estado      | Atras       |\n|:-------:|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|021 | [Seleccion de Elementos](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/021%20Seleccion%20de%20Elementos) |    :heavy_check_mark:      | yes | yes | yes | ⬅️ [Atras](#Tabla-de-contenidos) |\n\n## Atributos y Clases\n\n| Number  |File            | Link         |    Code       | Version  | Estado      | Atraz       |\n|:-------:|:--------------:|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|022 | [Atributos y Clases](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/022%20Atributos%20y%20Clases) |    :heavy_check_mark:      | yes | yes |yes| ⬅️ [Atras](#Tabla-de-contenidos) |\n\n## Eventos raton teclado\n\n\u003ctable border=\"1\" cellpadding=\"7\" cellspacing=\"0\"\u003e\n\t\t\u003ctbody\u003e\n\t\t\t\u003ctr style=\"background-color: rgb(204, 204, 204);\"\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\t\u003cb\u003eTipo de evento\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\t\u003cb\u003eNombre con prefijo on (eliminar cuando proceda)\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\t\u003cb\u003eDescripción aprenderaprogramar.com\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd rowspan=\"10\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con el ratón\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonclick\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tClick sobre un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tondblclick\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tDoble click sobre un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonmousedown\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tSe pulsa un botón del ratón sobre un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonmouseenter\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl puntero del ratón entra en el área de un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonmouseleave\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl puntero del ratón sale del área de un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonmousemove\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl puntero del ratón se está moviendo sobre el área de un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonmouseover\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl puntero del ratón se sitúa encima del área de un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonmouseout\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl puntero del ratón sale fuera del área del elemento o fuera de uno de sus hijos\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonmouseup\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tUn botón del ratón se libera estando sobre un elemento\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tcontextmenu\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tSe pulsa el botón derecho del ratón (antes de que aparezca el menú contextual)\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd rowspan=\"3\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con el teclado\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonkeydown\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl usuario tiene pulsada una tecla (para elementos de formulario y body)\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonkeypress\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl usuario pulsa una tecla (momento justo en que la pulsa) (para elementos de formulario y body)\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonkeyup\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl usuario libera una tecla que tenía pulsada (para elementos de formulario y body)\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd rowspan=\"6\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con formularios\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonfocus\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tUn elemento del formulario toma el foco\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonblur\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tUn elemento del formulario pierde el foco\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonchange\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tUn elemento del formulario cambia\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonselect\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl usuario selecciona el texto de un elemento input o textarea\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonsubmit\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tSe pulsa el botón de envío del formulario (antes del envío)\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonreset\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tSe pulsa el botón reset del formulario\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd rowspan=\"3\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con ventanas o frames\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonload\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tSe ha completado la carga de la ventana\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonunload\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl usuario ha cerrado la ventana\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp style=\"text-align: center;\"\u003e\n\t\t\t\t\t\tonresize\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tEl usuario ha cambiado el tamaño de la ventana\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con animaciones y transiciones\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tanimationend, animationiteration, animationstart, beginEvent, endEvent, repeatEvent, transitionend\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con la batería y carga de la batería\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tchargingchange, chargingtimechange, dischargingtimechange, levelchange\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con llamadas tipo telefonía\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\talerting, busy, callschanged, connected, connecting, dialing, disconnected, disconnecting, error, held, holding, incoming, resuming, statechange\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con cambios en el DOM\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tDOMAttrModified, DOMCharacterDataModified, DOMContentLoaded, DOMElementNameChanged, DOMNodeInserted, DOMNodeInsertedIntoDocument, DOMNodeRemoved, DOMNodeRemovedFromDocument, DOMSubtreeModified\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con arrastre de elementos (drag and drop)\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tdrag, dragend, dragenter, dragleave, dragover, dragstart, drop\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con video y audio\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\taudioprocess, canplay, canplaythrough, durationchange, emptied, ended, ended, loadeddata, loadedmetadata, pause, play, playing, ratechange, seeked, seeking, stalled, suspend, timeupdate, volumechange, waiting, complete\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eRelacionados con la conexión a internet\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tdisabled, enabled, offline, online, statuschange, connectionInfoUpdate\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\t\u003ctr\u003e\n\t\t\t\t\u003ctd\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\t\u003cb\u003eOtros tipos de eventos\u003c/b\u003e\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\t\u003ctd colspan=\"2\"\u003e\n\t\t\t\t\t\u003cp\u003e\n\t\t\t\t\t\tHay más tipos de eventos: relacionados con la pulsación sobre pantallas, uso de copy and paste (copiar y pegar), impresión con impresoras, etc.\u003c/p\u003e\n\t\t\t\t\u003c/td\u003e\n\t\t\t\u003c/tr\u003e\n\t\t\u003c/tbody\u003e\n\t\u003c/table\u003e\n\n\n| Number  |File          | Link        |  Code       | Version     | Estado      | Atras       |\n|:-------:|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|023      | [Eventos raton teclado](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/023%20Eventos%20raton%20Teclado) |:heavy_check_mark:|  yes | yes |yes|⬅️ [Atras](#Tabla-de-contenidos) |\n\n## Objeto Evento\n\n| Number  |File          | Link        |  Code       | Version     | Estado      | Atras       |\n|:-------:|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|024      | [Objeto Evento](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/024%20Objeto%20Evento) |:heavy_check_mark:|  yes | yes |yes|⬅️ [Atras](#Tabla-de-contenidos) |\n\n## Objeto Evento 2\n\n\u003ctable align=\"center\"\u003e\n  \u003ctr\u003e\n    \u003ctd align=\"center\" style=\"padding=0;width=50%;\"\u003e\n      \u003cimg align=\"center\" style=\"padding=0;\" src=\"./images/objeto.png\" /\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\n| Number  |File          | Link        |  Code       | Version     | Estado      | Atras       |\n|:-------:|--------------|:-----------:|:-----------:|:-----------:|:-----------:|:-----------:|  \n|025      | [Objeto Evento 2 ](https://github.com/BrianMarquez3/JavaScript-Course/tree/main/025%20Objeto%20Evento%202) |:heavy_check_mark:|  yes | yes |yes|⬅️ [Atras](#Tabla-de-contenidos) |\n\n\n\n\n\n---\n\n## Book\n\n\u003ctable\u003e\n  \u003ctr\u003e\n      \u003ctd\u003eServer\u003c/td\u003e\n      \u003ctd\u003eName\u003c/td\u003e\n      \u003ctd\u003eAuthors\u003c/td\u003e\n      \u003ctd\u003eEdition\u003c/td\u003e\n      \u003ctd\u003eISBN\u003c/td\u003e\n      \u003ctd\u003eLink\u003c/td\u003e\n  \u003c/tr\u003e\n\n  \u003ctr\u003e\n      \u003ctd\u003e - \u003c/td\u003e\n      \u003ctd\u003eBuilding Front-End Web Apps with Plain JavaScript\u003c/td\u003e\n      \u003ctd\u003eGerd Wagner\u003c/td\u003e\n      \u003ctd\u003e\u003c/td\u003e\n      \u003ctd\u003e \u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://web-engineering.info/tech/JsFrontendApp/book/\"\u003eBuilding Front-End Web Apps with Plain JavaScript Online \u003c/a\u003e\u003c/td\u003e\n  \u003c/tr\u003e\n  \n   \u003ctr\u003e\n      \u003ctd\u003eOneDrive\u003c/td\u003e\n      \u003ctd\u003eThe javaScript Languaje\u003c/td\u003e\n      \u003ctd\u003eIlya Kantor\u003c/td\u003e\n      \u003ctd\u003e - \u003c/td\u003e\n      \u003ctd\u003e- \u003c/td\u003e\n      \u003ctd\u003e\u003ca href=\"https://ucsmedu-my.sharepoint.com/:b:/g/personal/47092136_ucsm_edu_pe/EVdwB-kgkDxFhpG20OzL0PkBihlXAmuuDBW-RIsW11vriA?e=F9ull8\"\u003eThe javaScript Languaje \u003c/a\u003e\u003ca href=\"https://es.javascript.info/\"\u003eThe javaScript Languaje Manual\u003c/a\u003e. \u003c/td\u003e\n  \u003c/tr\u003e\n\n\u003c/table\u003e\n\n## Paypal\n🩸 Hacer una donación [PAYPAL](https://www.paypal.com/donate?hosted_button_id=98U3T62494H9Y) 🍵\n\n---\n\n \u003ctable align=\"center\"\u003e\n    \u003ctr\u003e\n      \u003ctd colspan=\"3\"\u003eA\u003c/td\u003e\n        \u003ctd\u003eB\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n        \u003ctd\u003eC\u003c/td\u003e\n      \u003ctd colspan=\"2\"\u003e\u003cimg align=\"center\" style=\"padding=0;\" src=\"./images/fractal.gif\" /\u003e\u003c/td\u003e\n        \u003ctd\u003eE\u003c/td\u003e\n      \u003c/tr\u003e\n      \u003ctr\u003e\n      \u003ctd colspan=\"3\"\u003eF\u003c/td\u003e\n        \u003ctd\u003eG\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrian-emarquez%2Fjavascript-course","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbrian-emarquez%2Fjavascript-course","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbrian-emarquez%2Fjavascript-course/lists"}