2010-10-18 4 views
27

Vengo de un fondo C/Unix, con mucha experiencia en scripts de shell, y algunos en Perl, elisp, etc. Pero ahora me estoy metiendo en un trabajo en el que necesitaré desarrollar interfaces interactivas basadas en web, y necesito aprender JavaScript. Mi problema es que todos los recursos que he encontrado en línea para aprender JavaScript parecen estar dirigidos a una audiencia que nunca ha sido programada, y sus autores no parecen mucho mejores. Tan pronto como veo "validar la entrada del usuario para quitarle la carga a tu servidor" como uno de los grandes usos de JS, quiero gritar y siento que no puedo confiar en nada más de lo que dice el autor. ;-)Recomendaciones para un programador experimentado nuevo en JavaScript?

¿Alguien puede recomendar buenos recursos para un programador experimentado que quiera aprender JS como un nuevo idioma? Idealmente, me gustaría comenzar en línea, pero las recomendaciones de árboles muertos también serían bienvenidas, especialmente si puedo obtener una vista previa en línea.

+0

posible duplicado de [Javascript libro mejor (para un codificador con experiencia)] (http://stackoverflow.com/questions/3655530/best-javascript-book-for-an-experienced-coder) – alex

Respuesta

4
+2

Lamentablemente, todas esas tres preguntas vinculadas parecen haber sido eliminadas.Stack Overflow nunca deja de decepcionar al cerrar preguntas valiosas, ahora eliminando contenido? –

10

Un gran libro JavaScript para programadores con experiencia es Doug Crockford JavaScript: The Good Parts. Es corto, asume que sabes lo que estás haciendo, es obstinado y no es un tutorial.

+4

Equilibre eso con el hecho de que Crockford aparece como (y IS, posiblemente) un fanático. Él te instruirá "no" para que use partes del lenguaje. Toma algunos con un grano de sal, como con todos los fanáticos :) Pero realmente, +1 por un buen libro. –

+0

Sí, acabo de obtener una vista previa en Google. Como un ejemplo de lo que estás diciendo, escuché acerca de las conversiones de tipo usando '-0',' | 0', etc., que * amo * proveniente de usar cosas como '0U +' para convertir a 'unsigned' en C, pero me da la sensación de que desaprueba fuertemente este tipo de uso ... ;-) –

8

Mi consejo: Olvídese de lo que sabe acerca de la programación orientada a objetos. Los intentos de aplicar los paradigmas de herencia a partir de un lenguaje OO repetidamente han sobrecomplicado muchos, muchos fragmentos de código JS.

Prototipos no es la construcción de clase. La instanciación de objetos no es instanciación de clase. "Clases" no son reales.

Hay formas de obtener lo que desea. Incluso puede tener algo parecido a partes privadas, pero no son métodos o miembros. Son meramente de ámbito local. La herencia a menudo es falsa, pero con resultados mixtos, y universalmente a expensas del ocultamiento de datos.

Javascript es un prototipo. No está orientado a objetos. Tenga esto en cuenta cada vez que piense algo así como: "Hombre, una interfaz aquí sería increíble ..."

+2

Afortunadamente vengo de un fondo C, no de fondo OO, así que no tengo demasiado que olvidar. :-) –

+2

Oh. Entonces puedo sugerir, jQuery: Novato a Ninja – Fordi

5

Tome un vistazo a Eloquent JavaScript. No cubre todo, pero te llevará a una programación de JavaScript idiomática, como programación funcional, cierres y prototipos. (La versión en línea viene completa con un entorno de tutorial de sandbox.) El resto, después de todo, es simplemente saber cómo usar referencias.

Cuestiones relacionadas