ejemplos - javascript tutorial
¿Por qué no hay una referencia OFICIAL de JavaScript? (11)
Traté de buscar una referencia de JavaScript, pero no hay ninguna disponible. Las dos mejores fuentes sugeridas son MDN (Mozilla Developer Network) y W3Schools.
¿Por qué?
Cita de Wikipedia:
Comienzos en Netscape
En noviembre de 1996, Netscape envió JavaScript a Ecma International ...
JavaScript es administrado oficialmente por la Fundación Mozilla ...
Entonces, en mi opinión, ECMA es el estándar y Mozilla es el estándar.
Encuentro los documentos JavaScript Netscape 4 de la vieja escuela muy útiles para este propósito. A pesar de que, obviamente, están totalmente desactualizados, y algunas de las funciones de DOM en ellos, como Capas, han desaparecido hace tiempo, para los aspectos básicos del lenguaje, son realmente sólidos.
Eso es porque antes de los días de la supremacía de IE y la estandarización de ECMA, el JavaScript de Netscape era el JavaScript definitivo. Otros navegadores prácticamente tuvieron que implementar exactamente lo que ves en esos viejos documentos.
También son mucho más fáciles de leer que el documento ECMA-262, que incluso para los estándares de los documentos de estándares es un horror absoluto.
Es muy difícil tener una referencia "oficial" siempre que haya implementaciones (en todos los navegadores) y haya una especificación (ECMAScript) pero no pruebas de conformidad de las implementaciones en función de las especificaciones.
Ahora, sin embargo, tenemos el conjunto de conformidad EMCAScript 5 en http://es5conform.codeplex.com/ y parece haber cierto consenso de que las implementaciones de ECMAScript se acercarán más, por lo que es más probable que ECMAScript sea la referencia oficial del idioma.
Hay una referencia oficial, simplemente no está en un formato muy conveniente. Es la ECMA-262 . Es un documento PDF único, muy grande, en lugar de un conjunto de páginas HTML con capacidad de búsqueda.
Me gusta mucho el apidoc de Daniel Krook , aunque podría usar algunas explicaciones y ejemplos. Realmente me gustaría ver un mashup krook w3school.
No es que haya una versión oficial de JavaScript. Todos los navegadores han creado su propio motor JavaScript, aunque algunos usan el mismo. Pero especialmente Internet Explorer tiene su propia versión que no admite mucho de lo que admiten los otros navegadores, lo que hace que sea muy difícil hacer una referencia general de JavaScript.
Editar:
Si bien sé que hay un estándar oficial de ECMA y un equipo de desarrollo, mi punto es que realmente no importa, siempre y cuando los navegadores (Internet Explorer) no estén a la altura. Al final del día, los clientes también quieren que JavaScript funcione para Internet Explorer. No les importan los estándares de ECMA, solo quieren que funcione. Aquí es donde las bibliotecas de JavaScript entran en escena, pero esa es otra historia.
Son los mismos problemas con HTML y CSS, no podemos utilizar estas herramientas para el desarrollo activo hasta que:
- Todos los navegadores los admiten.
- Suministramos los navegadores con código para que sean compatibles.
- Está bien, no funciona en todos los navegadores.
Edit2:
Internet Explorer se acerca a la tumba con el nuevo proyecto de navegador de Microsoft: Edge. Esto, sin embargo, realmente no cambia la imagen general. Todavía tenemos mucho si necesitamos diferentes navegadores para apoyar. Los desarrolladores intentan constantemente superar los límites de lo que es posible. Esto significa que a menudo tenemos este problema, alguna versión de navegador que queremos admitir no admite alguna característica del estándar (que generalmente es un poco fluido), lo que significa que tenemos que hacer alguna solución o usar frameworks que implementen la construcción faltante. en características.
Por "oficial", creo que te refieres a "escrito por las personas responsables de JavaScript".
Solo estoy especulando aquí realmente, pero las personas responsables de JavaScript (ECMA) no hacen ningún dinero directamente con eso, y probablemente no tengan ninguna habilidad particular para escribir documentación de referencia. Entonces no tienen el incentivo ni la capacidad de escribir una buena referencia.
Personalmente, me gusta JavaScript: la guía definitiva de O''Reilly. Hay una sexta edición que sale en noviembre.
Puedes probar con el sitio oficial de ECMAscript,
pero lo útil es en realidad la implementación de cada navegador.
Me gusta mucho esta hoja de trucos de la Biblia de JavaScript de Danny Goodman:
http://media.wiley.com/product_ancillary/12/04705269/DOWNLOAD/9780470526910_Appendix_A.pdf
Si está utilizando ECMAScript para la web (que es el 99,9% de las personas), más allá de las características sintácticas básicas del lenguaje (cubiertas en la especificación ECMA-262 mencionada anteriormente), lo que probablemente esté buscando es una referencia DOM. que es la API de ECMAScript que se usa para interactuar con documentos web.
Estoy muy sorprendido de que nadie haya mencionado el DOM API Sofar. El estándar actual W3C DOM está aquí: http://www.w3.org/TR/DOM-Level-2-Core/
(por cierto, en cuanto a la confusión de nombres: ECMAScript es el nombre del estándar oficial, y "Javascript" y "JScript" son las "bifurcaciones" propiedad de Microsoft y Netscape)
Yo diría que este es el "oficial": https://developer.mozilla.org/en/JavaScript
También tiene la Especificación del lenguaje ECMAScript, Edición 5.1 (o como PDF , la especificación definitiva) .
Y de Microsoft: Referencia del lenguaje de JavaScript : "Esta documentación explica la implementación de JavaScript de Microsoft , que cumple con la especificación de lenguaje ECMAScript 5th Edition . También proporciona funciones adicionales que no están incluidas en los estándares de Ecma".
Cualquier revisión de páginas de JavaScript en MDC por un miembro del equipo de Documentación de Mozilla (como Eric Shepherd ) es oficial. JavaScript es mantenido oficialmente por Mozilla, por lo que solo la documentación de Mozilla es oficial. Los únicos motores que admiten JavaScript están hechos actualmente por Mozilla y cada otro motor implementa ECMAScript. JavaScript y ECMAScript tienen bastantes diferencias (por ejemplo, la impresionante declaración de let
).