2010-10-18 12 views
27

Vengo da uno sfondo C/Unix, con molta esperienza nello scripting di shell, e anche su Perl, elisp, ecc. Ma ora sto entrando in un lavoro in cui ho bisogno di sviluppare interfacce interattive basate sul web e ho bisogno di imparare JavaScript. Il mio problema è che tutte le risorse che ho trovato online per l'apprendimento di JavaScript sembrano essere rivolte a un pubblico che non è mai stato programmato e che i loro autori non sembrano molto migliori. Non appena vedo "la convalida dell'input dell'utente per scaricare il server" come uno dei grandi usi di JS, voglio gridare e mi sento di non potermi fidare di nient'altro che dice l'autore. ;-)Consigli per un programmatore esperto nuovo in JavaScript?

Qualcuno può consigliare buone risorse per un programmatore esperto che desidera imparare JS come nuova lingua? Idealmente mi piacerebbe iniziare online, ma anche i consigli sugli alberi morti sono ben accetti, specialmente se posso visualizzarli in anteprima online.

+0

possibile duplicato di [Best javascript libro (per un codificatore con esperienza)] (http://stackoverflow.com/questions/3655530/best-javascript-book-per-un-esperto-coder) – alex

risposta

4
+2

Purtroppo tutte quelle tre domande collegate sembrano essere state rimosse.Stack Overflow non cessa mai di deludere chiudendo domande preziose, ora eliminando i contenuti ?! –

10

Un grande libro JavaScript per programmatori esperti è Doug Crockford di JavaScript: The Good Parts. È breve, presume che tu sappia cosa stai facendo, è supponente e non è un tutorial.

+4

Riequilibrare ciò con il fatto che Crockford si presenta come (e IS, discutibilmente) uno zelante. Ti istruirà "non" a usare parti della lingua. Ne guadagna un po 'con un pizzico di sale, come con tutti gli zeloti :) Ma davvero, +1 per un buon libro. –

+0

Sì, l'ho appena visto in anteprima su Google. Come esempio di ciò che stai dicendo, ho sentito parlare di conversioni di tipo usando '-0',' | 0', ecc., Che io * amo * derivando dall'uso di cose come '0U +' per convertire in 'unsigned' in C, ma ho la sensazione che disapprova fortemente questo tipo di utilizzo .. ;-) –

8

Il mio consiglio: Dimentica ciò che sai della programmazione orientata agli oggetti. I tentativi di applicare i paradigmi di ereditarietà da un linguaggio OO hanno ripetutamente complicato molti blocchi di codice JS.

Il prototipo non è una costruzione di classe. L'istanziazione degli oggetti non è un'istanza di classe. Le "classi" non sono reali.

Ci sono modi per ottenere quello che vuoi. Puoi anche avere qualcosa di simile ai privati ​​- ma non sono metodi o membri. Sono solo a livello locale. L'ereditarietà è spesso falsificata, ma con risultati misti, e universalmente a scapito del nascondimento dei dati.

Javascript è prototipato. Non è orientato agli oggetti. Tenetelo a mente ogni volta che pensate qualcosa del tipo: "Uomo, un'interfaccia qui sarebbe fantastica ..."

+2

Per fortuna vengo da uno sfondo C, non uno sfondo OO, quindi non ho troppo da dimenticare. :-) –

+2

Oh. Allora posso suggerire, jQuery: Novice to Ninja – Fordi

5

Date un'occhiata a Eloquent JavaScript. Non copre tutto, ma ti sposterà verso la programmazione idiomatica di JavaScript - cose come programmazione funzionale, chiusure e prototipi. (La versione online è completa di un ambiente tutorial sandbox.) Il resto, in fondo, è solo sapere come usare i riferimenti.

Problemi correlati