Introducción

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.
Lo que ya deberías saber

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 and Java

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.

Hola mundo
Para empezar a escribir JavaScript, abre el Bloc de notas y escribe tu primer código JavaScript "Hola mundo": function greetMe(yourName) { alert("Hola " + yourName); } greetMe("Mundo"); Seleccione el código en la almohadilla y pulse Ctrl+R para ver cómo se desarrolla en su navegador.
Variables

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.

Declaración de variables
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.

Alcance de la variable

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
Variables globales

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.

Constantes

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";
Tipos de datos

El último estándar ECMAScript define siete tipos de datos:

  • Seis tipos de datos que son primitivos:

    • Booleano. verdadero y falso.
    • null. Una palabra clave especial que denota un valor nulo. Como JavaScript distingue entre mayúsculas y minúsculas, null no es lo mismo que Null, NULL, o cualquier otra variante.
    • undefined.Una propiedad de nivel superior cuyo valor es indefinido.
    • Number. 42 or 3.14159.
    • String. "Kevin"
    • Symbol (nuevo en ECMAScript 2015). Un tipo de datos cuyas instancias son únicas e inmutables.
  • Y objeto
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.
if...else declaracion
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 */ }
while statement
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.

Declaracion de funciones
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.

Referencia
  • Toda la documentación de esta página está tomada de JS