JavaScript es un lenguaje de programación ligero e interpretado con capacidades orientadas a objetos que le permite crear interactividad en páginas HTML que de otro modo serían estáticas.
El núcleo de uso general del lenguaje se ha integrado en Netscape, Internet Explorer y otros navegadores web.
Las siguientes son las características de JavaScript:
JavaScript es un lenguaje de programación ligero interpretado.
JavaScript está diseñado para crear aplicaciones centradas en la red.
JavaScript es complementario e integrado con Java.
JavaScript es complementario e integrado con HTML.
JavaScript es abierto y multiplataforma.
Las siguientes son las ventajas de usar JavaScript:
Less server interaction −Puede validar la entrada del usuario antes de enviar la página al servidor. Esto ahorra tráfico en el servidor, lo que significa menos carga en su servidor.
Immediate feedback to the visitors − No tienen que esperar a que se recargue la página para ver si se han olvidado de ingresar algo.
Increased interactivity − Puede crear interfaces que reaccionen cuando el usuario se desplaza sobre ellas con el mouse o las activa mediante el teclado.
Richer interfaces − Puede usar JavaScript para incluir elementos tales como componentes de arrastrar y soltar y controles deslizantes para brindar una interfaz enriquecida a los visitantes de su sitio.
No podemos tratar JavaScript como un lenguaje de programación completo. Carece de las siguientes características importantes:
JavaScript del lado del cliente no permite la lectura o escritura de archivos. Esto se ha guardado por razones de seguridad.
JavaScript no se puede utilizar para aplicaciones de red porque no hay tal soporte disponible.
JavaScript no tiene capacidades de multiproceso o multiproceso.
¡Si! JavaScript es un lenguaje que distingue entre mayúsculas y minúsculas. Esto significa que las palabras clave del idioma, las variables, los nombres de las funciones y cualquier otro identificador deben escribirse siempre con mayúsculas coherentes.
JavaScript soporta muy bien el concepto de Objeto. Puede crear un objeto utilizando el objeto literal de la siguiente manera:
var emp = {
name: "Zara",
age: 10
};
Puede escribir y leer las propiedades de un objeto utilizando la notación de puntos de la siguiente manera:
// Getting object properties
emp.name // ==> Zara
emp.age // ==> 10
// Setting object properties
emp.name = "Daisy" // <== Daisy
emp.age = 20 // <== 20
Puede definir matrices utilizando el literal de matriz de la siguiente manera:
var x = [];
var y = [1, 2, 3, 4, 5];
Una matriz tiene una propiedad de longitud que es útil para la iteración. Podemos leer elementos de una matriz de la siguiente manera:
var x = [1, 2, 3, 4, 5];
for (var i = 0; i < x.length; i++) {
// Do something with x[i]
}
Una función nombrada tiene un nombre cuando se define. Una función nombrada se puede definir usando la palabra clave de función de la siguiente manera:
function named(){
// do some stuff here
}
Una función en JavaScript puede tener nombre o ser anónima.
Una función anónima se puede definir de manera similar a una función normal, pero no tendría ningún nombre.
¡Si! Se puede asignar una función anónima a una variable.
¡Si! Una función anónima se puede pasar como argumento a otra función.
Los argumentos de las variables de JavaScript representan los argumentos pasados a una función.
Usando el operador typeof, podemos obtener el tipo de argumentos pasados a una función. Por ejemplo
function func(x){
console.log(typeof x, arguments.length);
}
func(); //==> "undefined", 0
func(1); //==> "number", 1
func("1", "2", "3"); //==> "string", 3
Usando la propiedad argument.length, podemos obtener el número total de argumentos pasados a una función. Por ejemplo
function func(x){
console.log(typeof x, arguments.length);
}
func(); //==> "undefined", 0
func(1); //==> "number", 1
func("1", "2", "3"); //==> "string", 3
El objeto de argumentos tiene una propiedad callee, que se refiere a la función en la que se encuentra. Por ejemplo
function func() {
return arguments.callee;
}
func(); // ==> func
Palabra clave famosa de JavaScript esto siempre se refiere al contexto actual.
El alcance de una variable es la región de su programa en la que está definida. La variable de JavaScript tendrá solo dos ámbitos.
Global Variables − Una variable global tiene un alcance global, lo que significa que es visible en todas partes en su código JavaScript.
Local Variables −Una variable local será visible solo dentro de una función donde esté definida. Los parámetros de la función son siempre locales para esa función.
Una variable local tiene prioridad sobre una variable global con el mismo nombre.
Una devolución de llamada es una función de JavaScript simple que se pasa a algún método como argumento u opción. Algunas devoluciones de llamada son solo eventos, llamados para darle al usuario la oportunidad de reaccionar cuando se activa un cierto estado.
Los cierres se crean siempre que se accede a una variable que está definida fuera del ámbito actual desde dentro de algún ámbito interno.
El siguiente ejemplo muestra cómo el contador variable es visible dentro de las funciones de creación, incremento e impresión, pero no fuera de ellas:
function create() {
var counter = 0;
return {
increment: function() {
counter++;
},
print: function() {
console.log(counter);
}
}
}
var c = create();
c.increment();
c.print(); // ==> 1
El método charAt () devuelve el carácter en el índice especificado.
El método concat () devuelve el carácter en el índice especificado.
El método forEach () llama a una función para cada elemento de la matriz.
El método indexOf () devuelve el índice dentro del objeto String que llama de la primera aparición del valor especificado, o -1 si no se encuentra.
El método length () devuelve la longitud de la cadena.
El método pop () elimina el último elemento de una matriz y devuelve ese elemento.
El método push () agrega uno o más elementos al final de una matriz y devuelve la nueva longitud de la matriz.
El método reverse () invierte el orden de los elementos de una matriz; el primero se convierte en el último y el último en el primero.
El método sort () ordena los elementos de una matriz.
El método substr () devuelve los caracteres en una cadena que comienza en la ubicación especificada hasta el número especificado de caracteres.
El método toLowerCase () devuelve el valor de la cadena de llamada convertido a minúsculas.
El método toUpperCase () devuelve el valor de la cadena de llamada convertido a mayúsculas.
El método toString () devuelve la representación de cadena del valor del número.
Al nombrar sus variables en JavaScript, tenga en cuenta las reglas siguientes.
No debe utilizar ninguna de las palabras clave reservadas de JavaScript como nombre de variable. Estas palabras clave se mencionan en la siguiente sección. Por ejemplo, los nombres de variables booleanas o de ruptura no son válidos.
Los nombres de las variables de JavaScript no deben comenzar con un número (0-9). Deben comenzar con una letra o el carácter de subrayado. Por ejemplo, 123test es un nombre de variable no válido, pero _123test es válido.
Los nombres de variables de JavaScript distinguen entre mayúsculas y minúsculas. Por ejemplo, Nombre y nombre son dos variables diferentes.
El typeof es un operador unario que se coloca antes de su operando único, que puede ser de cualquier tipo. Su valor es una cadena que indica el tipo de datos del operando.
El operador typeof se evalúa como "número", "cadena" o "booleano" si su operando es un número, cadena o valor booleano y devuelve verdadero o falso según la evaluación.
Devuelve "objeto".
JavaScript también puede manipular cookies utilizando la propiedad de cookie del objeto Document. JavaScript puede leer, crear, modificar y eliminar las cookies que se aplican a la página web actual.
La forma más sencilla de crear una cookie es asignar un valor de cadena al objeto document.cookie, que se ve así:
Sintaxis -
document.cookie = "key1 = value1; key2 = value2; expires = date";
Aquí expira el atributo es la opción. Si proporciona a este atributo una fecha u hora válida, la cookie caducará en la fecha u hora indicadas y, después, no se podrá acceder al valor de las cookies.
Leer una cookie es tan simple como escribir una, porque el valor del objeto document.cookie es la cookie. Por lo tanto, puede utilizar esta cadena siempre que desee acceder a la cookie.
La cadena document.cookie mantendrá una lista de pares nombre = valor separados por punto y coma, donde nombre es el nombre de una cookie y valor es su valor de cadena.
Puede usar la función split () de cadenas para dividir la cadena en clave y valores.
A veces, querrá eliminar una cookie para que los intentos posteriores de leer la cookie no devuelvan nada. Para hacer esto, solo necesita establecer la fecha de vencimiento en un tiempo en el pasado.
Esto es muy simple para hacer una redirección de página usando JavaScript en el lado del cliente. Para redirigir a los visitantes de su sitio a una nueva página, solo necesita agregar una línea en la sección de encabezado de la siguiente manera:
<head>
<script type="text/javascript">
<!--
window.location="http://www.newlocation.com";
//-->
</script>
</head>
JavaScript le ayuda a implementar esta funcionalidad utilizando la función de impresión del objeto de ventana. La función de impresión de JavaScript window.print () imprimirá la página web actual cuando se ejecute.
El objeto Date es un tipo de datos integrado en el lenguaje JavaScript. Los objetos de fecha se crean con la nueva fecha ().
Una vez que se crea un objeto Date, varios métodos le permiten operar en él. La mayoría de los métodos simplemente le permiten obtener y establecer los campos de año, mes, día, hora, minuto, segundo y milisegundo del objeto, utilizando la hora local o la hora UTC (universal o GMT).
El objeto Número representa una fecha numérica, ya sean enteros o números de punto flotante. En general, no necesita preocuparse por los objetos Number porque el navegador convierte automáticamente literales numéricos en instancias de la clase numérica.
Sintaxis -
Creando un objeto numérico -
var val = new Number(number);
Si el argumento no se puede convertir en un número, devuelve NaN (Not-a-Number).
Las últimas versiones de JavaScript agregaron capacidades de manejo de excepciones. JavaScript implementa la construcción try ... catch ... finalmente así como el operador throw para manejar excepciones.
Puede detectar excepciones generadas por el programador y en tiempo de ejecución, pero no puede detectar errores de sintaxis de JavaScript.
El controlador de eventos onerror fue la primera característica que facilitó el manejo de errores para JavaScript. El evento de error se dispara en el objeto de ventana siempre que ocurre una excepción en la página.
El controlador de eventos onerror proporciona tres piezas de información para identificar la naturaleza exacta del error:
Error message − El mismo mensaje que mostraría el navegador para el error dado.
URL − El archivo en el que ocurrió el error.
Line number − El número de línea en la URL proporcionada que provocó el error.