El Javascript es una lengua Scripting más de uso frecuente para el desarrollo de la tela del Cliente-lado . Era la puesta en práctica que originaba del estándar de ECMAScript . Como tal, es un dinámico, débil mecanografiado, lengua prototipo-basada con las funciones de primera clase

El Javascript fue influenciado por muchas idiomas y diseñado para tener una mirada similar al Java, pero sea más fácil para que a los non-programmers trabajen con. La lengua es la más conocida para su uso en los Web site (como Javascript del cliente-lado), pero también se utiliza para permitir el acceso scripting a los objetos encajados en otros usos.

A pesar de el nombre, el Javascript está esencialmente sin relación al lenguaje de programación de Java, aunque ambos tienen una deuda común al sintaxis C, y el Javascript copia a muchos nombres de Java y convenciones de nombramiento. La lengua fue retitulada de LiveScript en un reparto de la co-comercialización entre el Netscape y el Sun a cambio de Netscape que liaba el tiempo de pasada de Java de Sun con su hojeador, que era dominante en ese entonces. Los principios de diseño dominantes dentro del Javascript se heredan del lenguaje de programación del uno mismo .

" JavaScript" es una marca registrada de Sun Microsystems. Fue utilizada debajo de la licencia para la tecnología inventada y ejecutada por Netscape Communications y las entidades actuales tales como la fundación de Mozilla.

Historia y nombramiento

El Javascript fue desarrollado original por el Brendan Eich de Netscape bajo el nombre el Mocha, posterior LiveScript del, y finalmente retitulado al Javascript. El cambio del nombre de LiveScript al Javascript coincidió áspero con Netscape que agregaba la ayuda para la tecnología de Java en su web browser de Netscape Navigator . El Javascript primero fue introducido y desplegado en la versión 2.0B3 del hojeador de Netscape en diciembre de 1995. El nombramiento ha causado la confusión, dando la impresión que la lengua es un efecto de Java y ha sido caracterizado por muchos como trabajo de la comercialización de Netscape para dar a Javascript el prestigio de cuál era entonces la nueva lengua tela-programada caliente.

Para evitar ediciones de la marca registrada, el Microsoft nombró su puesta en práctica JScript de la lengua. JScript primero fue apoyado en la versión 3.0 de Internet Explorer, lanzado en agosto de 1996 y funciones obedientes incluidas de la fecha Y2K, desemejante de ésos basados en java. Fecha en Javascript en ese entonces.

Netscape sometió Javascript al Ecma internacional para la estandardización dando por resultado la versión estandardizada nombrada ECMAScript .

Lengua

considera también:

l sintaxis del Javascript

El en fecha 2006, la última versión de la lengua es el Javascript 1. La versión previa 1.6 correspondida a la edición 3 ECMA-262 como el Javascript 1.5, a excepción de suplementos del arsenal, y productos genéricos del arsenal y de la secuencia. El ECMAScript, en términos simples, es una versión estandardizada del Javascript. El estándar ECMA-357 especifica el E4X, una extensión de lengua que se ocupa XML .

Descripción de la característica

Características de la programación estructurada

El Javascript apoya todo el sintaxis de la programación estructurada en el C, e. si declaración, mientras que los lazos, declaración de interruptor, etc. Una excepción es el scoping : El Javascript apoya scoping del función-nivel, pero no scoping del bloquear-nivel.

Características de la programación dinámica

; el mecanografiar dinámico: Como en la mayoría de las idiomas scripting, los tipos se asocian a los valores, no variables . Por ejemplo, un x variable se podía limitar a un número, entonces rebote posterior a una secuencia . El Javascript apoya varias maneras de probar el tipo de un objeto, incluyendo el pato que mecanografía . ; objetos como órdenes asociativos: El Javascript es pesadamente Objeto-basado . Los objetos son los órdenes asociativos tales que los nombres de característica del objeto son llaves asociativas del arsenal.x = 10 y el obj = 10 son equivalentes, la notación del punto que es simplemente el azúcar sintáctico . Las características y sus valores se pueden agregar, cambiar, o suprimir en run-time. ; interpretado: Los motores de conformación del Javascript deben poder al interpretan código fuente de (en comparación con compilar). Esto permite que el Javascript incluya una función de Eval .

Características de la programación funcional

; funciones de primera clase: Las funciones son el de primera clase; son los objetos ellos mismos. Como tal, tienen características y pueden ser pasadas alrededor y ser obradas recíprocamente con como cualquier otro objeto. ; funciones y encierros internos: Se crean las funciones internas (funciones definidas dentro de otras funciones) cada vez que se invoca la función externa, y las variables de las funciones externas para esa invocación continúan existiendo mientras todavía existan las funciones internas, incluso si esa invocación es (e. si la función interna fue vuelta) &mdash finished; éste es el mecanismo detrás de los encierros dentro del Javascript.

características Prototipo-basadas

; prototipos: El Javascript utiliza los prototipos en vez de las clases para definir características del objeto, incluyendo los métodos, y la herencia . Es posible simular muchos las características clase-basadas con los prototipos en Javascript. ; funciones como constructores del objeto: Las funciones doblan como constructores del objeto junto con su papel típico. Prefijar una llamada de función con new crea un nuevo objeto y las llamadas que funcionen con su palabra clave local de this limitada a ese objeto. La característica de prototype de la función determina el prototipo del nuevo objeto. ; ¡funciones como methods: Desemejante de muchas idiomas orientadas al objeto, no hay distinción entre una definición de función y una definición del método . Algo, la distinción ocurre durante función la llamada; una función se puede llamar como método. Cuando una función se invoca como método de un objeto, la palabra clave local de this de la función está limitada a ese objeto.

Otras características

; ambiente run-time: El Javascript confía típicamente en un ambiente run-time (e. en un web browser) para proporcionar los objetos y los métodos por los cuales las escrituras pueden obrar recíprocamente con el " el world" exterior;. (Esto no es una característica de lengua por sí mismo, pero es común en la mayoría de las puestas en práctica del Javascript.) ; ¡functions< variadic! --nota: esto no es una característica de la programación funcional-->: Un número indefinido de parámetros se puede pasar a una función. La función puede tenerles acceso a través de los parámetros formales y del objeto local de arguments. ; expresiones regulares: El Javascript también apoya las expresiones regulares que proporcionan un sintaxis sucinto y de gran alcance para la manipulación de texto que es más sofisticada que las funciones incorporadas de la secuencia.

Uso en Web pages

Ajax (programación)

El uso primario del Javascript es escribir las funciones que se encajan adentro o se incluyen de las páginas del HTML y obran recíprocamente con el modelo de objeto del documento (DOM) de la página. Algunos ejemplos simples de este uso son:
Abertura o surgiendo una nueva ventana con control programático sobre el tamaño, la posición y la “mirada” de la nueva ventana (es decir si los menús, las barras de herramientas, los etc.
Validación de los valores de la entrada de la forma de la tela para cerciorarse de que sean aceptados antes de que se sometan al servidor.
El cambio de imágenes como el del cursor del ratón mueve sobre ellas : Este efecto es de uso frecuente dibujar la atención del usuario a los acoplamientos importantes exhibidos como elementos gráficos.

¡Because puede funcionar localmente en el hojeador de un usuario (algo que en un servidor alejado), él puede responder a las acciones de usuario rápidamente, haciendo una sensación del uso más responsiva. Además, el código del Javascript puede detectar las acciones de usuario que no puede el HTML solamente, por ejemplo golpes de teclado individuales. Los usos tales como Gmail se aprovechan de esto: mucha de la lógica del interfaz de usuario se escribe en Javascript, y el Javascript envía solicitudes de información (tales como el contenido de un correo electrónico) al servidor. La tendencia más amplia Ajax que programa explota semejantemente esta fuerza.

Un motor del Javascript del (también conocido como el intérprete del Javascript del o puesta en práctica del Javascript del ) es un intérprete que interpreta el código fuente del Javascript y ejecuta la escritura por consiguiente. El primer motor del Javascript fue creado por el Brendan Eich en la corporación de Netscape Communications, para el web browser de Netscape Navigator . El motor, nombrado código SpiderMonkey, se ejecuta en el C . Se ha puesto al día desde entonces (en el Javascript 1.5) para ajustarse ECMA-262 a la edición 3. El motor del rinoceronte, creado sobre todo por Norris Boyd (también en Netscape) es una puesta en práctica del Javascript en el Java . Como SpiderMonkey, el rinoceronte es ECMA-262 la edición 3 obediente.

En gran medida, el ambiente más común del anfitrión para el Javascript es un web browser. Los hojeadores del Web utilizan típicamente el público API para crear el " objects" del anfitrión; responsable de reflejar los DOM en Javascript. El web server es otro uso común del motor. Un web server del Javascript expondría los objetos del anfitrión que representan una petición del HTTP y los objetos de la respuesta, que un programa del Javascript podría entonces manipular para generar dinámicamente Web pages.

Un ejemplo mínimo de un Web page que contiene Javascript (usar sintaxis del HTML 4.01 ) sería:

lang=" del ¡HTML DE DOCTYPE; - HTML 4.01//EN" de //W3C//DTD; > simple page type=" del ¡document.write (“hola mundo! ");

Consideraciones de la compatibilidad

considera también: Interoperabilidad,

l Web de la accesibilidad del Web

Los interfaces de los DOM para los Web pages de manipulación no son parte del estándar de ECMAScript, o del Javascript sí mismo. Oficialmente, son definidos por un esfuerzo de estandardización separado por el W3C ; en la práctica, las puestas en práctica del hojeador diferencian de los estándares y de uno a, y no todos los hojeadores ejecutan Javascript.

Para ocuparse de estas diferencias, los autores del Javascript pueden intentar escribir el código standards-compliant que también será ejecutado correctamente por la mayoría de los hojeadores; fallando eso, pueden escribir el código que las comprobaciones para la presencia de cierto hojeador ofrecen y se comportan diferentemente si no están disponibles. En algunos casos, dos hojeadores pueden ambo instrumento una característica pero con diverso comportamiento, y los autores pueden encontrarlo práctico para detectar qué hojeador está funcionando y para cambiar el comportamiento de su escritura al fósforo. Los programadores pueden también utilizar las bibliotecas o los juegos de herramientas que toman en cuenta diferencias del hojeador.

Además, las escrituras no trabajarán para todos los usuarios. Por ejemplo, un usuario puede:
uso del

un viejo o raro hojeador con la ayuda incompleta o inusual de los DOM,
utilizar un PDA o el hojeador del teléfono móvil que no puedan ejecutar Javascript,
tener ejecución del Javascript inhabilitada como precaución de la seguridad,
o se inhabilite visualmente o de otra manera y utilizan un hojeador del discurso

Para apoyar a estos usuarios, los autores de Web pueden intentar crear las páginas que el degrada agraciado en los agentes de usuario (hojeadores) que no apoyan el Javascript de la página.

Seguridad

El Javascript y los DOM proporcionan el potencial para que los autores malévolos entreguen las escrituras al funcionamiento en una computadora del cliente vía el Web. Los autores del hojeador contienen este riesgo usar dos restricciones. Primero, las escrituras funcionan en una salvadera en la cual puedan realizar solamente acciones relacionadas con el Web, programación no de fines generales encargan como crear archivos. En segundo lugar, las escrituras son obligadas por el la misma política del origen: las escrituras a partir de un Web site no tienen acceso a la información tal como nombres del usuario, contraseñas, o galletas enviadas a otro sitio. La mayoría de los insectos Javascript-relacionados de la seguridad son aberturas la misma política del origen o de la salvadera .

vulnerabilidades del Cruz-sitio

considera también: Cruz-sitio scripting,

la falsificación de la petición del Cruz-sitio

Un problema de seguridad Javascript-relacionado común es Cruz-sitio scripting, o XSS, una violación la misma política del origen. Las vulnerabilidades de XSS ocurren cuando un atacante puede hacer un Web site confiado en, tal como un Web site en línea de las actividades bancarias, para incluir una escritura malévola en el Web page presentado a una víctima. En ese ejemplo, la escritura puede entonces tener acceso al uso de las actividades bancarias con los privilegios de la víctima, potencialmente divulgando la información secreta o transfiriendo el dinero sin la autorización de la víctima.

Las vulnerabilidades de XSS pueden también ocurrir debido a errores de la puesta en práctica de los autores del hojeador.

XSS se relaciona con, pero no iguales como, la falsificación de la petición del Cruz-sitio o XSRF. En XSRF, un Web site hace el hojeador de una víctima generar peticiones fraudulentas a otro sitio, con las galletas legítimas del HTTP de la víctima atado a la petición. El hijacking del Javascript es un ejemplo importante de XSRF.

Malentendido del límite del servidor de cliente

Los usos de servidor de cliente, si implican Javascript o no, deben asumir que los clientes untrusted pueden estar bajo control de atacantes. Así cualquier secreto encajado en Javascript se podría extraer por un adversario resuelto, y la salida de las operaciones del Javascript no se debe confiar en por el servidor. Algunas implicaciones:
Los autores del Web site del

no pueden encubrir perfectamente cómo su Javascript funciona porque el código se envía al cliente y el código ofuscado el puede ser reverso dirigido.
La validación de la forma del Javascript proporciona solamente la conveniencia para los usuarios, no seguridad. Si un sitio verifica que el usuario conviniera sus términos del servicio, o filtra carácteres inválidos fuera de los campos que deben contener solamente números, deben hacer tan en el servidor, no sólo el cliente.
Sería práctica extremadamente mala encajar una contraseña en Javascript (donde puede ser extraído por un atacante), después hacer que el Javascript verifique una contraseña de usuario y pasar el " password_ok=1" de nuevo al servidor (desde el " password_ok=1" la respuesta es fácil de forjar). ¡

Hojeador y errores de codificación enchufables

El Javascript proporciona un interfaz a una amplia gama de las capacidades del hojeador, algunas cuyo puede tener defectos tales como desbordamientos del almacenador intermediario. Estos defectos pueden permitir que los atacantes escriban las escrituras que funcionarían con cualquier código que deseen en el sistema del usuario.

Estos defectos han afectado a los hojeadores importantes incluyendo Firefox, Internet Explorer, y safari.

Los enchufes, tales como vídeos, Macromedia de destello, y la amplia gama de los controles de ActiveX permitidos por abandono en Microsoft Internet Explorer, pueden también tener defectos explotables vía Javascript, y tales defectos se han explotado en el pasado. En Windows Vista, Microsoft ha intentado contener los riesgos de insectos tales como desbordamientos del almacenador intermediario funcionando con el proceso de Internet Explorer con privilegios limitados.

Errores de la puesta en práctica de la salvadera

Los hojeadores del Web son capaces de funcionar Javascript fuera de la salvadera, con los privilegios necesarios a, por ejemplo, crear o suprimir los archivos. Por supuesto, tales privilegios no se significan de ser concedido al código del Web.

Incorrectamente la concesión de privilegios al Javascript del Web ha desempeñado un papel en vulnerabilidades en Internet Explorer y Firefox. En Windows Xp Service Pack 2, Microsoft apretó las reglas en lo que sería funcionado el Javascript con altos privilegios por Internet Explorer.

Algunas versiones Microsoft Windows permiten el Javascript almacenado en la impulsión dura de una computadora para funcionar como programa de fines generales, non-sandboxed. Esto hace Javascript (como el VBScript ) un vector teóricamente viable para un Trojan Horse, aunque los caballos Trojan del Javascript sean infrecuentes en la práctica. (Véase la escritura de Windows recibir .)

Web pages exteriores de las aplicaciones

Fuera del Web, encajan a los intérpretes del Javascript en un número de herramientas. Cada uno de estos usos provee de su propio modelo de objeto que proporcione el acceso al ambiente del anfitrión, la lengua del Javascript de la base que sigue siendo sobre todo igual en cada uso.
el ActionScript, el lenguaje de programación del

usado en el Adobe de destello, es otra puesta en práctica del estándar de ECMAScript.
Aparatos del tablero de instrumentos en el mac de Apple OS x v10.4 y Yahoo! Los aparatos se ejecutan usar Javascript.
La plataforma de Mozilla, que es la base de varios hojeadores comunes de la tela, utiliza Javascript para ejecutar el interfaz utilizador de sus varios productos.
El acróbata de Adobe y el lector de Adobe apoyan Javascript en archivos del pdf .
Las herramientas en el Adobe Creative Suite, incluyendo el Photoshop, el ilustrador, el Dreamweaver y el InDesign, permiten el scripting con Javascript.
La tecnología Scripting activa de Microsoft apoya el Javascript-compatible JScript como lengua scripting del sistema operativo.
El lenguaje de programación de Java, en SE 6 (JDK 1.6) de la versión, introdujo el paquete de javax.script, basado en el rinoceronte de Mozilla. Así, los usos de Java pueden recibir las escrituras que tienen acceso a las variables y a los objetos del uso, mucho pues los hojeadores del Web reciben las escrituras que tienen acceso al modelo de objeto del documento del hojeador (DOM) para un Web page.
Más nuevas versiones del juego de herramientas del cuarto de galón C++ incluyen un módulo de QtScript para interpretar el Javascript, análogo a javax.
El interactivo Max/MSP del software del tratamiento de señales de la música lanzó completando un ciclo '74, ofrece un modelo del Javascript de su ambiente para uso de los reveladores. No prohibe a control mucho más exacto que el defecto el modelo programado GUI-céntrico.
El Javascript OSA (Javascript para OSA, o JSOSA), es una alternativa del freeware al AppleScript para el mac OS x hecho disponible por el software de última hora . Ha basado en la puesta en práctica del Javascript de Mozilla 1.5, con la adición de un objeto de MacOS para la interacción con el sistema operativo y los usos de tercera persona.

Depuración

Dentro de Javascript, el acceso a una depuración llega a ser inestimable al desarrollar programas grandes, no triviales. Porque puede haber diferencias de la puesta en práctica entre los varios hojeadores (particularmente dentro del modelo de objeto del documento ) es útil tener acceso a una depuración para cada uno de los hojeadores que una aplicación web se está apuntando en.

Actual, el Internet Explorer, el Firefox, y el safari todo tienen depuraciones de la escritura disponibles para ellas. La ópera anunció una herramienta del revelador del depuración en una inspección previo lanzada en febrero de 2007.

Internet Explorer tiene tres depuraciones disponibles para él: El estudio visual de Microsoft es el más rico de los tres, seguido de cerca por el editor del guión (un componente de Microsoft Microsoft Office ), y finalmente el libre Microsoft Script la depuración que es lejos más básica que los otros dos. Las aplicaciones web dentro de Firefox pueden ser eliminadas errores usar el enchufe del Firebug, o la depuración más vieja de Venkman, que también funciona con el hojeador de Mozilla . Una depuración para el motor que acciona el safari, Webkit de Apple está también disponible bajo el nombre el Drosera .

Hay también algunas herramientas libres tales como JSLint, una herramienta de la calidad del código que explore el código del Javascript que busca problemas, tan bien como una herramienta no-libre llamada JavaScript Debugger.

Puesto que el Javascript se interpreta, flojo-mecanografiado, y se puede recibir en los ambientes diversos, cada uno con su propias diferencias de la compatibilidad, un programador tienen que tomar cuidado adicional para cerciorarse de que el código ejecuta según lo esperado adentro tan de par en par una gama de circunstancias como sea posible, y esa funcionalidad degrade agraciado cuando no lo hace.

Cada bloque de la escritura se analiza por separado. En los Web pages donde el Javascript en bloques de la escritura se mezcla con el HTML, los errores de sintaxis se pueden identificar más fácilmente manteniendo funciones discretas bloques separados de la escritura, o (para la preferencia), usar muchos pequeños archivos ligados de . Esta manera, un error de sintaxis no causará el análisis/que compila para fallar para la página entera, que puede ayudar a no prohibir a un la salida agraciada .

Idiomas relacionadas

No hay relación entre Java y el Javascript; sus semejanzas están sobre todo en sintaxis básico porque ambos se derivan en última instancia de la C. Su semántica es absolutamente diferente y sus modelos de objeto son sin relación y en gran parte incompatibles. En Java, como en C y C++, todas las variables y miembros son estáticamente mecanografiados, mientras que todas las variables del Javascript (así como características del objeto y elementos de arsenal) pueden llevar a cabo un valor de cualquier tipo.

El esfuerzo de estandardización para el Javascript también necesitó evitar ediciones de la marca registrada, así que las llamadas estándar de ECMA 262 el ECMAScript, tres ediciones de la lengua cuyo se han publicado desde que el trabajo comenzó en noviembre de 1996.

Propio VBScript de Microsoft, como Javascript, puede ser cliente-lado funcionado en Web pages. VBScript tiene sintaxis derivado Visual Basic y funcionará solamente si los Web pages se ven en Internet Explorer.

El JSON, o la notación del objeto del Javascript, es un formato de intercambio de datos de fines generales que se define como subconjunto de Javascript.

ECMAScript fue incluido en el estándar VRML97 para los nodos scripting de los archivos de la descripción de la escena del VRML.

El Javascript también se considera un lengua de la programación funcional como el esquema y el OCaml porque tiene encierros y apoya las funciones Higher-order

Ver también

style=" del
Javascript del Servidor-lado
Sintaxis del Javascript
JSDoc
Lista de los motores de ECMAScript
El Minify
HTML dinámico
LiveConnect
Solo uso de la página
AJILE
JSON
JSAN
Ajax (programación)
XMLHTTP y XMLHttpRequest
Javascript discreto
Comparación de los redactores Javascript-basados del código fuente
Componentes del HTML - con el comportamiento encapsulado de la escritura
VBScript
FDJS - funcional, Javascript declarativo

.

  • Zenithic
  • Loa River
    Random links:Neurosis | Loyd Jowers | Té PU-erh | Lista de terminales del subterráneo de New York City | R328 (cabo occidental)

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">