Introducción a cómo funciona JavaScript?
JavaScript es un lenguaje de scripting que se utiliza dentro del navegador para la interacción de la interfaz. Brendan Eich fue la primera persona en crear el motor de JavaScript fue para el navegador web Netspace Navigator en Netspace. Está implementado en C y su nombre en código era SpiderMonkey. Mocha fue el nombre que se le dio al proyecto inicialmente, luego fue renombrado a LiveScript y finalmente cuando Netspace y Sun hicieron el acuerdo de licencia fue nuevamente renombrado a JavaScript. En este tema, vamos a aprender cómo funciona javascript. Debemos haber oído hablar de motores populares como V8, Spider Monkey y hay muchos otros. Diferentes motores tienen diferentes “nombres en clave”, por ejemplo:
- V8 – motor utilizado en Opera & Chrome.
- SpiderMonkey – motor utilizado en Firefox.
- Trident, Chakra – motor utilizado en IE & Nitro.
- ChakraCore – motor utilizado en Microsoft Edge.
- SquirrelFish – motor utilizado en Safari.
El motor utilizado para javascript consta de dos componentes principales:
Inicia tu curso gratuito de desarrollo de software
Desarrollo web, lenguajes de programación, Pruebas de software & otros
- Memoria Heap- es donde se produce la asignación de memoria.
- Pila de Llamadas- este es el lugar donde las pilas están siendo llamadas y el código se ejecuta.
NOTA:
JavaScript, un lenguaje de programación de un solo hilo, lo que significa que tiene una sola Pila de Llamadas y por lo tanto tiene la capacidad de hacer una cosa a la vez. La Pila de Llamadas es básicamente una estructura de datos que registra el punto del programa que se está ejecutando. Esta pila de llamadas es similar a otras pilas que tienen la funcionalidad básica como, si entramos en una función, la ponemos en la parte superior de la pila. Tenemos que salir de la parte superior de la pila si queremos volver de una función. Esta es la funcionalidad básica de toda pila. Como estamos discutiendo los motores que manejan las funciones de JavaScript son realmente complicados pero las cosas básicas que cada motor realiza en el sentido más amplio son las siguientes:
- Si el navegador lee el script entonces el motor está incrustado en el propio navegador.
- Después de leer el script convierte (“compila”) el script al lenguaje de la máquina.
- Y entonces el código de la máquina se ejecuta, bastante rápido.
- Cambia el contenido existente, modifica los estilos añadiendo nuevo HTML a las páginas.
- Proporciona funciones como el clic del ratón, el hover del ratón, etc. que reacciona a las acciones del uso.
- Envía y recibe peticiones a través de la red a servidores remotos, sin cargar la página completa según las entradas del usuario. Una de estas tecnologías que es muy famoso es AJAX.
- Con esto se puede establecer y obtener los valores de las cookies, proporciona mensajes a los usuarios para la información, alerta y otros propósitos.
- También puede almacenar datos temporales en el lado del cliente.
Las capacidades de JavaScript son algo limitadas dentro del navegador se limitan por el bien de la seguridad del usuario. El objetivo es evitar que alguna página web de terceros acceda a información privada o dañe los datos del usuario. Algunos escenarios para este tipo de acceso limitado son:
- Por defecto, JavaScript en una página web está restringido para leer/escribir archivos arbitrarios en el disco duro, copiarlos o ejecutar programas. Incluso no tiene acceso directo a las funciones del sistema operativo. Algunos navegadores modernos también le permiten trabajar con archivos, pero para ello, el acceso es limitado y sólo se proporciona si el usuario realiza ciertas acciones, como “soltar” un archivo en una ventana del navegador. También hay formas de interactuar con la cámara/micrófono y otros dispositivos, pero eso también requiere el permiso explícito del usuario. Así que una página con JavaScript habilitado no puede habilitar secretamente una cámara web o puede enviar la información al servidor remoto o a cualquier tercero.
- Las diferentes pestañas o ventanas generalmente no saben de las otras instancias. Pero técnicamente es muy posible. Lo mismo se llama “Política del mismo origen”. Para que la misma funcione, ambas instancias deben contener algún código JavaScript especial que pueda manejar el intercambio de datos entre ellas. Pero la limitación está de nuevo ahí para la seguridad del usuario. Por ejemplo, una página web de la URL abc.com que un usuario ha abierto no debe ser capaz de acceder a otra pestaña del navegador con la URL xyz.com y robar información en secreto.
- Con el uso de ella, uno puede comunicarse fácilmente a través de la red a cualquier servidor remoto o de terceros donde la página actual vino. Pero por razones de seguridad, su capacidad para recibir o enviar datos de otros sitios o dominios está desactivada. Pero lo mismo es posible, para lo cual algunos trabajos de JavaScript requieren un acuerdo explícito del lado remoto. Tal limitación no será posible proporcionar, si JavaScript se utiliza fuera del navegador en lugar de dentro, es decir, ya sea de un servidor. Usted también puede notar que algunos de los navegadores modernos permiten la instalación de plugins o extensiones por las cuales las obras de JavaScript utilizadas dentro del navegador obtienen permisos extendidos.
¿Qué hace que el trabajo de JavaScript sea único?
- Como todos sabemos es un lenguaje de scripting basado en objetos.
- Está escrito en C. Es un lenguaje interpretado.
- El JavaScript puro es más rápido en el acceso al DOM.
- Con el uso del trabajo de JavaScript, el usuario obtiene más control sobre el navegador.
- También puede manejar la fecha y la marca de tiempo.
- También puede detectar el navegador del usuario e incluso OS.
- Es ligero.
- Es un lenguaje de scripting como ya se ha dicho.
- Es un lenguaje de scripting basado en el intérprete.
- Es sensible a mayúsculas y minúsculas es decir, la sintaxis es sensible a las mayúsculas.
- Es un lenguaje basado en objetos ya que proporciona objetos predefinidos como Java pero no es java.
- Cada declaración en JavaScript debe terminar con un punto y coma (;).
- Lo más importante que proporciona JavaScript es la capacidad de crear nuevas funciones dentro de los scripts. Uno puede declarar una función en JavaScript usando la función
- Soporte completo para HTML y CSS.
- Es muy fácil de usar.
- Soporta para todos los navegadores.
Limitaciones
Entre las muchas ventajas JavaScript tiene también algunas limitaciones que se dan a continuación:
- JavaScript está en el lado del cliente y no proporciona la facilidad de leer o escribir de archivos en el disco.
- JavaScript no se puede utilizar para aplicaciones de red porque no proporciona ningún tipo de apoyo.
- No proporciona ninguna funcionalidad como el multihilo o el multiprocesador.
Conclusión
Así que con eso, todos hemos llegado a saber que sobre alguna información básica acerca de la evolución de las obras de JavaScript, algunos de los famosos motores que ejecutan JavaScript en los navegadores web, cuáles son las ventajas de mantener JavaScript dentro de los navegadores y lo que podría suceder si JavaScript podría ser colocado y ejecutado fuera de los navegadores. También nos hemos encontrado con algunas de las características del trabajo de JavaScript que lo hacen utilizable y único junto con algunas de las limitaciones/desventajas del mismo. Así que con eso, estoy concluyendo el tema sobre cómo el trabajo de javascript, hay muchas más cosas para explorar que usted podría explorar desde la web.
Artículos recomendados
Esta ha sido una guía para el trabajo de JavaScript. Aquí hemos discutido los conceptos básicos, las limitaciones y lo que hace a javascript único de los demás. También puede mirar los siguientes artículos para aprender más –
- Cheat Sheet JavaScript
- Usos de JavaScript
- JavaScript vs JScript
- C# vs JavaScript