2013-03-13 9 views
10

Supponiamo che io sia abituato a codificare sul lato server (con lingue lato server), e ora sto imparando AngularJS. Ciò significa che prima ho bisogno di una buona comprensione di JavaScript.Quali sono i cinque concetti JavaScript che devo comprendere per essere un buon sviluppatore di AngularJS?

Se non ho tempo per imparare completamente JavaScript in questo momento, quali sono i cinque concetti JavaScript che consiglieresti io apprendo in primo luogo/bene per essere uno sviluppatore di AngularJS efficace?

+0

+1 In tal caso, sto anche votando la domanda se questo aiuta a chiudere. – Stewie

+3

(Ho pensato che AngularJS è abbastanza opinato da richiedere una forte comprensione di JavaScript per essere efficace e veramente padrone di esso, e che qualsiasi cosa in meno non gli rende giustizia, ma se sei disposto ad accettare alcune cose come un po 'magico , Va tutto bene. :)). Non ci sono molte parti in movimento su JavaScript ... il trucco è come utilizzarle e adattarle bene. Ho letto/sfogliato http://eloquentjavascript.net/index.html questo. – WiredPrairie

risposta

9
  1. il tipo di sistema: esistono due tipi di valori fondamentalmente diversi: primitivi e oggetti. Numero, stringa, booleano, null, undefined sono tutti primitivi.
    Matrice ([1,2,3]), oggetto ({ prop1: value1, prop2: value2 }) e funzione sono tutti gli oggetti.
  2. prototypal inheritance – Ciò è particolarmente importante quando si tenta di DataBind in AngularJS ad una primitiva
  3. array [ 'sintassi'] === array.syntax; array ['$ id'] === array. $ id; array [someExpression] non ha eqivalent "." notazione
  4. portata variabile e assegnazione
    • una variabile definita ovunque all'interno di una funzione è visibile ovunque all'interno di una funzione
    • quando una variabile viene assegnato un oggetto, viene assegnato un riferimento (non una copia). Ciò diventa importante in AngularJS quando, ad esempio, si recuperano i dati JSON da un server e si assegnano i risultati a una variabile. Ciò reimposta il riferimento. Altre variabili (diciamo nel controller) che puntano al vecchio riferimento continuano a puntare al vecchio riferimento. (example)
  5. chiusure – questi sono molto utili quando si definiscono i servizi AngularJS (example) e al momento di definire metodi su un controller utilizzando this (example)

Si noti inoltre che JavaScript è single-threaded!

+0

Grazie a @Stewie. Spero davvero che anche altre persone scriveranno delle risposte, ma purtroppo ci sono già 2 voti per chiuderla. –

+1

Grande lista, vorrei aggiungere la comprensione della parola chiave 'this' nel contesto del linguaggio JS. È stata menzionata anche l'eredità prototipale, ma i concetti generali su come creare oggetti in JS e la sua natura OO sono importanti anche per capire. – Chandermani

3

A mio avviso si dovrebbe ottenere chiarezza sui seguenti argomenti

1) chiamata per valore vs chiamata per riferimento in javascript

Motivo: perché in angularJS abbiamo a che fare con un sacco di oggetti. Vi sarà chiaro circa il loro comportamento una volta capito questo

2) catena Campo di applicazione e IIFE (immediatamente la funzione espressione invocabile)

Motivo: Quando si lavora su un'applicazione utilizzando angularJS IIFEs svolgono un ruolo importante nel manipolare il tuo scopo.

3) Chiusure

Motivo: Uno dei più importanti concept javascript. Se vedi il codice sorgente di molte librerie e framework famosi costruiti su javascript, hanno usato molto le chiusure. Le chiusure ti aiuteranno anche a capire come le fabbriche lavorano in profondità.

4) Dependency Injection

Motivo: Un concetto javascript che angolare JS si basa

5) Si può anche passare attraverso alcune buone guide di stile per AngularJS. Ad esempio puoi fare riferimento a questo: https://github.com/johnpapa/angular-styleguide

Problemi correlati