JavaScript es un lenguaje de programación orientado a objetos y multiplataforma.
Es un lenguaje pequeño y ligero. Dentro de un entorno anfitrión
(por ejemplo, un navegador web), JavaScript puede conectarse a los
objetos de su entorno para proporcionar un control programático sobre
de los mismos.
JavaScript contiene una biblioteca estándar de objetos, como Array,
Date y Math, y un conjunto básico de elementos del lenguaje como
operadores, estructuras de control y sentencias. El núcleo de JavaScript puede
puede ampliarse para una variedad de propósitos complementándolo con
objetos adicionales; por ejemplo:
-
El JavaScript del lado del cliente amplía el lenguaje principal proporcionando
objetos para controlar un navegador y su Modelo de Objetos del Documento (DOM).
Por ejemplo, las extensiones del lado del cliente permiten que una aplicación coloque elementos
elementos en un formulario HTML y responder a los eventos del usuario, como los
del ratón, la introducción de datos en el formulario y la navegación por la página.
-
El JavaScript del lado del servidor amplía el lenguaje principal proporcionando
objetos relevantes para ejecutar JavaScript en un servidor. Por ejemplo,
las extensiones del lado del servidor permiten que una aplicación se comunique con una
base de datos, proporcionar continuidad de la información de una invocación a
de la aplicación, o realizar manipulaciones de archivos en un
servidor.
Esta guía asume que usted tiene la siguiente información básica:
-
Conocimiento general de Internet y de la World Wide Web
(WWW).
- Buen conocimiento del lenguaje de marcado de hipertexto (HTML).
-
Algo de experiencia en programación. Si eres nuevo en la programación, prueba
uno de los tutoriales enlazados en la página principal sobre JavaScript.
JavaScript y Java son similares en algunos aspectos pero fundamentalmente
diferentes en otros. El lenguaje JavaScript se parece a Java pero
no tiene la tipificación estática y la comprobación de tipos fuerte de Java.
JavaScript sigue la mayor parte de la sintaxis de las expresiones de Java, las convenciones de nomenclatura
y las construcciones básicas de flujo de control, razón por la cual fue
razón por la que se cambió el nombre de LiveScript a JavaScript.
En contraste con el sistema de compilación de Java de clases construidas por
declaraciones, JavaScript soporta un sistema de tiempo de ejecución basado en un pequeño
número de tipos de datos que representan valores numéricos, booleanos y
y cadenas. JavaScript tiene un modelo de objetos basado en prototipos en lugar del
modelo de objetos basado en clases más común. El modelo basado en prototipos
proporciona una herencia dinámica; es decir, lo que se hereda puede variar
para objetos individuales. JavaScript también admite funciones sin
requisitos declarativos especiales. Las funciones pueden ser propiedades de
objetos, ejecutándose como métodos libremente tipados.
JavaScript es un lenguaje muy libre en comparación con Java. No es necesario
tiene que declarar todas las variables, clases y métodos. No tiene que
no tiene que preocuparse de si los métodos son públicos, privados o
protegidos, y no tiene que implementar interfaces. Las variables,
los parámetros y los tipos de retorno de las funciones no están explícitamente tipados.
Las variables se utilizan como nombres simbólicos para los valores de la aplicación.
Los nombres de las variables, llamados identificadores, se ajustan a ciertas reglas.
Un identificador de JavaScript debe empezar por una letra, un guión bajo (_) o un
signo de dólar ($); los caracteres siguientes también pueden ser dígitos (0-9).
Como JavaScript distingue entre mayúsculas y minúsculas, las letras incluyen los caracteres
"A" a "Z" (uppercase) y los caracteres "a" a "z"
(lowercase).
Puede utilizar letras ISO 8859-1 o Unicode como å y ü en
identificadores. También puede utilizar las secuencias de escape Unicode como
en los identificadores. Algunos ejemplos de nombres legales son
Número_de_Letras.
Se puede declarar una variable de tres maneras:
Con la palabra clave var. Por ejemplo, var x = 42.
Esta sintaxis
puede utilizarse para declarar tanto variables locales como globales.
Simplemente asignándole un valor. Por ejemplo,
x = 42.
Esto siempre declara una variable global. En
genera una advertencia estricta de JavaScript. No debería utilizar esta
variante.
Con la palabra clave let. Por ejemplo, let y = 13.
Esta sintaxis puede utilizarse para declarar
una variable local de ámbito de bloque. Vea el Ámbito de la variable más abajo.
Cuando se declara una variable fuera de cualquier función, se la denomina
variable global, porque está disponible para cualquier otro código en el
documento actual. Cuando se declara una variable dentro de una función, se llama
se llama variable local, porque sólo está disponible dentro de esa función.
función.
JavaScript antes de ECMAScript 2015 no tiene alcance de declaración de bloque
sino que una variable declarada dentro de un bloque es local a la función
función (o ámbito global) en el que se encuentra el bloque. En
ejemplo, el siguiente código registrará 5, porque el ámbito de x es la función
(o contexto global) dentro del cual se declara x, no el bloque
que en este caso es una sentencia if.
if (true) { var x = 5; } console.log(x); // 5
Este comportamiento cambia, cuando se utiliza la declaración let introducida en
ECMAScript 2015.
if (true) { let y = 5; } console.log(y); // ReferenceError: y is
not defined
Las variables globales son, de hecho, propiedades del objeto global. En las páginas
el objeto global es window, por lo que se puede establecer y acceder a las
utilizando la sintaxis window.variable.
En consecuencia, puede acceder a las variables globales declaradas en una ventana o marco
o marco desde otra ventana o marco especificando el nombre de la ventana o
nombre del marco. Por ejemplo, si en un documento se declara una variable llamada
declarada en un documento, se puede hacer referencia a esta variable desde un
iframe as parent.phoneNumber.
Puede crear una constante de sólo lectura con la palabra clave const.
La sintaxis de un identificador de constante es la misma que la de un identificador de variable
debe comenzar con una letra, un guión bajo o un signo de dólar
y puede contener caracteres alfabéticos, numéricos o de subrayado.
const PI = 3.14;
Una constante no puede cambiar de valor a través de la asignación o ser re-declarada
mientras se ejecuta el script. Tiene que ser inicializada a un valor.
Las reglas de alcance de las constantes son las mismas que las del bloque let
de las variables. Si se omite la palabra clave const, se asume que el identificador
se asume que representa una variable.
No se puede declarar una constante con el mismo nombre que una función o
variable en el mismo ámbito. Por ejemplo:
// Esto provocará un error en la función f() {}; const f = 5; // ESTE
CAUSARÁ UN ERROR TAMBIÉN función f() { const g = 5; var g;
//declaraciones }
Sin embargo, los atributos de los objetos no están protegidos, por lo que la siguiente sentencia
se ejecuta sin problemas.
const MY_OBJECT = {"key": "value"}; MY_OBJECT.key =
"otherValue";
El último estándar ECMAScript define siete tipos de datos:
Aunque estos tipos de datos son una cantidad relativamente pequeña, permiten
realizar funciones útiles con sus aplicaciones. Los objetos y las
funciones son los otros elementos fundamentales del lenguaje. Puede
pensar en los objetos como contenedores de valores con nombre, y en las funciones como
procedimientos que su aplicación puede realizar.
Utilice la sentencia if para ejecutar una sentencia si una condición lógica es
verdadera. Utilice la cláusula else opcional para ejecutar una sentencia si la
condición es falsa. Una sentencia if tiene el siguiente aspecto:
if (condition) { statement_1; } else { statement_2; }
puede ser cualquier expresión que se evalúe como verdadera o falsa. Véase
Boolean para una explicación de lo que se evalúa como verdadero y falso. Si
la condición es verdadera, se ejecuta la sentencia_1; en caso contrario, se ejecuta la sentencia_2,
se ejecuta la sentencia_2. La sentencia_1 y la sentencia_2 pueden ser cualquier
puede ser cualquier sentencia, incluyendo otras sentencias if anidadas.
También puede componer las declaraciones utilizando else if para tener múltiples
condiciones en secuencia, como se indica a continuación:
if (condition_1) { statement_1; } else if (condition_2) {
statement_2; } else if (condition_n) { statement_n; } else {
statement_last; }
En el caso de condiciones múltiples, sólo se ejecutará la primera condición lógica
que se evalúe como verdadera se ejecutará. Para ejecutar varias
sentencias, agrúpelas dentro de una sentencia de bloque ({ ... }) . En
En general, es una buena práctica utilizar siempre sentencias de bloque, especialmente
cuando se anidan sentencias if:
if (condition) { statement_1_runs_if_condition_is_true;
statement_2_runs_if_condition_is_true; } else {
statement_3_runs_if_condition_is_false;
statement_4_runs_if_condition_is_false; }
Es aconsejable no utilizar asignaciones simples en una expresión condicional
condicional, porque la asignación puede confundirse con la igualdad al
al revisar el código. Por ejemplo, no utilice el siguiente código:
if (x = y) { /* statements here */ }
if ((x = y)) { /* statements here */ }
Una sentencia while ejecuta sus sentencias mientras una condición especificada
condición sea verdadera. Una sentencia while tiene el siguiente aspecto:
while (condition) statement
Si la condición se convierte en
falsa, la sentencia dentro del bucle deja de ejecutarse y el control pasa a
la sentencia que sigue al bucle.
La prueba de la condición se produce antes de que se ejecute la sentencia en el bucle.
Si la condición es verdadera, la sentencia se ejecuta y la
condición se comprueba de nuevo. Si la condición es falsa, la ejecución se detiene
se detiene y el control se pasa a la sentencia que sigue al while.
Para ejecutar varias sentencias, utilice una sentencia de bloque ({ ... }) para
agrupar esas sentencias.
Ejemplo:
El siguiente bucle while itera siempre que n sea menor que tres:
var n = 0; var x = 0; while (n < 3) { n++; x += n; }
En cada iteración, el bucle incrementa n y añade ese valor a x.
Por lo tanto, x y n toman los siguientes valores:
- Después de la primera pasada: n = 1 and x = 1
- Después de la segunda pasada: n = 2 and x = 3
- Después de la tercera pasada: n = 3 and x = 6
Después de completar la tercera pasada, la condición n < 3 ya no es
verdadero, por lo que el bucle termina.
Una definición de función (también llamada declaración de función o declaración de función
) consiste en la palabra clave function, seguida de:
- El nombre de la función.
-
Una lista de argumentos para la función, encerrados entre paréntesis y
separados por comas.
-
Las sentencias JavaScript que definen la función, encerradas entre
corchetes, { }.
Por ejemplo, el siguiente código define una función simple llamada
square:
function square(number) { return number * number; }
La función cuadrado toma un argumento, llamado número. La función
consiste en una sentencia que dice que devuelve el argumento de la
función (es decir, number) multiplicado por sí mismo. La sentencia return
especifica el valor devuelto por la función.
return number * number;
Los parámetros primitivos (como un número) se pasan a las funciones por
valor; el valor se pasa a la función, pero si la función
cambia el valor del parámetro, este cambio no se refleja
globalmente o en la función que llama.