Saludos lectores, en este tutorial, exploraremos los eventos de tiempo en el lenguaje javascript.

1. Introducción

JavaScript es un lenguaje de programación orientado a objetos que permite que las secuencias de comandos del lado del cliente interactúen con un usuario y entregue las páginas dinámicas. La mayoría de los navegadores web, incluidos Google Chrome, Mozilla Firefox, Safari, Internet Explorer, Microsoft Edge, Opera, etc. lo admiten. El lenguaje de secuencias de comandos de JavaScript incluye:

  • Declaración de variables
  • Mantener los valores recuperados
  • Definición e invocación de funciones
  • Definiendo clases
  • Cargar y usar módulos externos
  • Definir controladores de eventos
  • Y mucho más 

1.1 Ventajas del lenguaje JavaScript

Las ventajas de utilizar el lenguaje de secuencias de comandos JavaScript son:

  • JavaScript es fácil de aprender
  • Se ejecuta en el navegador del cliente, por lo que elimina el procesamiento del lado del servidor y se ejecuta en cualquier sistema operativo.
  • JavaScript se puede utilizar con cualquier tipo de página web, por ejemplo, PHP, ASP.NET, Perl, etc.
  • El rendimiento de la página web aumenta debido a la ejecución del lado del cliente
  • El códigoJavaScript se puede minimizar para disminuir el tiempo de carga desde el servidor.
  • Muchos marcos de aplicaciones basados ​​en JavaScript están disponibles en el mercado para crear aplicaciones web de una sola página, por ejemplo, AngularJS, ReactJS, etc.

1.2 Desventajas del lenguaje JavaScript

Las desventajas de usar el lenguaje de scripting JavaScript son:

  • No tiene capacidades de multiproceso o multiproceso
  • No permite la lectura y escritura de archivos.

1.3 Eventos de tiempo en JavaScript

  • En javascript, se puede ejecutar un fragmento de código en intervalos de tiempo específicos. Este concepto se denomina eventos de sincronización
  • setInterval(function, delay): Ejecuta una función especificada repetidamente en intervalos de tiempo específicos. El functionparámetro especifica el nombre de la función y el delayparámetro especifica el tiempo en milisegundos antes de llamar a la función especificada
  • setTimeout(function, delay): Ejecuta una función especificada después de esperar un número especificado de milisegundos. El functionparámetro especifica el nombre de la función y el delayparámetro especifica el tiempo en milisegundos de espera antes de llamar a la función especificada
  • clearInterval(timerVar): Detiene la ejecución constante de un método establecido por el setInterval()método

2. Ejemplo de eventos de tiempo de JavaScript

Aquí hay una guía sistemática para implementar este tutorial.

2.1 Herramientas utilizadas

Estamos utilizando Eclipse Kepler SR2, JDK 8 y Maven. Dicho esto, hemos probado el código con JDK 1.7 y funciona bien.

2.2 Estructura del proyecto

En primer lugar, permítanos revisar la estructura final del proyecto si no está seguro de dónde debe crear los archivos o carpetas correspondientes más adelante.

Eventos de tiempo de JavaScript: estructura del proyecto de aplicación
Fig.1: Estructura del proyecto de aplicación

2.3 Creación de proyectos

Esta sección mostrará cómo crear un proyecto Maven basado en Java con Eclipse. En Eclipse Ide, vaya a File -> New -> Maven Project.

Eventos de tiempo de JavaScript - Proyecto Maven
Fig.2: Cree un proyecto Maven

En la ventana del Proyecto New Maven, se le pedirá que seleccione la ubicación del proyecto. De forma predeterminada, se seleccionará 'Usar ubicación de espacio de trabajo predeterminada'. Simplemente haga clic en el botón siguiente para continuar.

Eventos de tiempo de JavaScript: detalles del proyecto
Fig.3: Detalles del proyecto

Seleccione el arquetipo 'Maven Web App' de la lista de opciones y haga clic en Siguiente.

Eventos de tiempo de JavaScript: selección de arquetipos
Fig.4: Selección de arquetipo

Le pedirá que 'ingrese el grupo y la identificación del artefacto para el proyecto'. Ingresaremos los detalles como se muestra en la siguiente imagen. El número de versión será por defecto: 0.0.1-SNAPSHOT.

Eventos de temporización de JavaScript: parámetros de arquetipo
Fig.5: Parámetros de arquetipo

Haga clic en Finalizar y se completará la creación de un proyecto de maven. Si ve, ha descargado las dependencias de maven y se pom.xmlcreará un archivo. Tendrá el siguiente código:

pom.xml

1
2
3
4
5
6
7
    <modelVersion>4.0.0</modelVersion><font></font>
    <groupId>com.javascript.timingevents</groupId><font></font>
    <artifactId>JavascriptTimingevents</artifactId><font></font>
    <version>0.0.1-SNAPSHOT</version><font></font>
    <packaging>war</packaging><font></font>
</project><font></font>

3. Creación de aplicaciones

Creemos una aplicación para comprender los componentes básicos de este tutorial.

3.1 Definir el HTML

Escribamos una página de índice simple en la JavascriptTimingevents/src/main/webapp/carpeta. Agregue el siguiente código.

index.jsp

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
dieciséis
17
18
19
20
<!-- JavaScript Timing Events Example --><font></font>
<div id="title"><font></font>
    <h4 class="text-info">Definition</h4><font></font>
    <ul><font></font>
        <li>In javascript, <span class="text-underline">a piece of code can be executed at specified time intervals</span>. This concept is called as <mark>Timing events</mark>.</li><font></font>
        <li><code>setInterval(function, delay)</code>: Executes a specified function repeatedly at specific time intervals. The <code>function</code> parameter specifies the function name and <code>delay</code> parameter specifies the time in milliseconds before calling the specified function.</li><font></font>
        <li><code>setTimeout(function, delay)</code>: Executes a specified function after waiting for a specified number of milliseconds. The <code>function</code> parameter specifies the function name and <code>delay</code> parameter specifies the time in milliseconds to wait before calling the specified function.</li><font></font>
        <li><code>clearInterval(timerVar)</code>: Stops the constant execution of a method set by the <code>setInterval()</code> method.</li><font></font>
    </ul><font></font>
    <div> </div><font></font>
<font></font>
    <h4 class="text-info">Usage</h4><font></font>
    <div id="clock"><font></font>
        <button type="button" class="btn btn-success btn-space" onclick="startClock();">Start Clock</button><font></font>
        <button type="button" class="btn btn-danger" onclick="stopClock();">Stop Clock</button><font></font>
    </div><font></font>
    <div> </div><font></font>
<font></font>
    <div id="result" class="display-4"></div><font></font>
</div><font></font>

3.2 Definir la función JavaScript

Escribamos una función simple de javascript que demostrará los eventos de tiempo en el lenguaje javascript. Agregue el siguiente código.

Función de JavaScript

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
dieciséis
// JavaScript timing events.<font></font>
var intervalId;<font></font>
<font></font>
function startClock() {<font></font>
    console.log("Clock started!");<font></font>
    intervalId = setInterval(getCurrentDateTime, 1000);<font></font>
}<font></font>
function stopClock() {<font></font>
    console.log("Clock stopped!");<font></font>
    clearInterval(intervalId);<font></font>
    document.getElementById("result").innerHTML = "";<font></font>
}<font></font>
function getCurrentDateTime() {<font></font>
    var mydate = new Date();<font></font>
    document.getElementById("result").innerHTML = mydate.toLocaleTimeString();<font></font>
}<font></font>

3.3 Primera aplicación

Complete los pasos anteriores y guarde el archivo. Veamos el fragmento de código de muestra.

index.jsp

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
dieciséis
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<!DOCTYPE html><font></font>
<html lang="en"><font></font>
<font></font>
<head><font></font>
    <title>Index page</title><font></font>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><font></font>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.2.1/css/bootstrap.min.css"><font></font>
    <style><font></font>
        .btn-space {<font></font>
            margin-right: 15px;<font></font>
        }<font></font>
        .text-underline {<font></font>
            text-decoration: underline;<font></font>
        }<font></font>
    </style><font></font>
</head><font></font>
<font></font>
<body><font></font>
    <div class="container"><font></font>
        <h2 align="center" class="text-muted">Timing Events in JavaScript</h2><font></font>
        <hr /><font></font>
<font></font>
        <!-- JavaScript Timing Events Example --><font></font>
        <div id="title"><font></font>
            <h4 class="text-info">Definition</h4><font></font>
            <ul><font></font>
                <li>In javascript, <span class="text-underline">a piece of code can be executed at specified time intervals</span>. This concept is called as <mark>Timing events</mark>.</li><font></font>
                <li><code>setInterval(function, delay)</code>: Executes a specified function repeatedly at specific time intervals. The <code>function</code> parameter specifies the function name and <code>delay</code> parameter specifies the time in milliseconds before calling the specified function.</li><font></font>
                <li><code>setTimeout(function, delay)</code>: Executes a specified function after waiting for a specified number of milliseconds. The <code>function</code> parameter specifies the function name and <code>delay</code> parameter specifies the time in milliseconds to wait before calling the specified function.</li><font></font>
                <li><code>clearInterval(timerVar)</code>: Stops the constant execution of a method set by the <code>setInterval()</code> method.</li><font></font>
            </ul><font></font>
            <div> </div><font></font>
<font></font>
            <h4 class="text-info">Usage</h4><font></font>
            <div id="clock"><font></font>
                <button type