2013-03-13 5 views
10

Angenommen, ich bin es gewohnt, auf der Serverseite (mit serverseitigen Sprachen) zu programmieren, und jetzt lerne ich AngularJS. Das bedeutet, dass ich zuerst ein gutes Verständnis von JavaScript benötige.Welche fünf JavaScript-Konzepte muss ich als guter AngularJS-Entwickler verstehen?

Wenn ich jetzt keine Zeit habe, JavaScript vollständig zu lernen, welche fünf JavaScript-Konzepte würden Sie empfehlen, dass ich zuerst/gut lerne, um ein effektiver AngularJS-Entwickler zu sein?

+0

+1 In diesem Fall stimme ich die Frage auch gut, wenn das gegen das Schließen hilft. – Stewie

+3

(Ich habe geglaubt, AngularJS ist so eigensinnig, dass es ein starkes Verständnis von JavaScript erfordert, um effektiv zu sein und es wirklich zu meistern, und dass alles weniger gerecht wird, aber wenn man bereit ist, einige Dinge magisch zu akzeptieren , es ist alles gut. :)). Es gibt wirklich nicht so viele bewegliche Teile zu JavaScript ... der Trick ist, wie man sie benutzt und gut zusammenfügt. Ich würde lesen/überfliegen http://eloquentjavascript.net/index.html dies. – WiredPrairie

Antwort

9
  1. das Typsystem: Es gibt zwei grundlegend verschiedene Arten von Werten: Primitive und Objekte. Number, string, boolean, null, undefined sind alles Primitive.
    Array ([1,2,3]), Objekt ({ prop1: value1, prop2: value2 }) und Funktion sind alle Objekte.
  2. prototypal inheritance – dies ist besonders wichtig, wenn Sie in AngularJS zu einem primitiven
  3. array [ 'Syntax'] === array.syntax zu Databind versuchen; array ['$ id'] === array. $ id; Array [someExpression] hat kein äquivalentes "." Notation
  4. variable Umfang und Zuordnung
    • eine Variable eine beliebige Stelle innerhalb einer Funktion definiert ist sichtbar überall innerhalb dieser Funktion
    • wenn eine Variable, die ein Objekt zugeordnet wird zugeordnet einer Referenz (keine Kopie). Dies wird in AngularJS wichtig, wenn Sie beispielsweise JSON-Daten von einem Server abrufen und die Ergebnisse einer Variablen zuweisen. Dies setzt die Referenz zurück. Andere Variablen (etwa in Ihrem Controller), die auf die alte Referenz zeigen, zeigen weiterhin auf die alte Referenz. (example)
  5. Verschlüsse – diese sind sehr nützlich, wenn AngularJS Dienste (example) definiert, und wenn Methoden auf einem Controller definiert, mit this (example)

Beachten Sie auch, dass JavaScript single-threaded ist!

+0

Danke @Stewie. Ich hoffe wirklich, dass andere Leute auch Antworten schreiben werden, aber ach, es gibt schon 2 Stimmen, um es zu schließen. –

+1

Große Liste, ich würde hinzufügen, Verständnis von 'diesem' Schlüsselwort im Kontext der JS-Sprache. Es wurde auch eine prototypische Vererbung erwähnt, aber die allgemeinen Konzepte, wie man ein Objekt in JS und seine OO-Natur erzeugt, sind ebenfalls wichtig zu verstehen. – Chandermani

3

Aus meiner Sicht sollte man Klarheit über die folgenden Themen

1) call by value vs call by reference erhält in Javascript

Grund: weil in AngularJS wir mit vielen Objekten beschäftigen. Sie werden über ihr Verhalten klar sein, wenn Sie diese

2) Scope Kette und IIFE (sofort aufrufbaren Funktionsausdruck)

Grund verstehen: Wenn Sie auf einer Anwendung arbeiten AngularJS mit IIFEs spielen eine wichtige Rolle bei der Manipulation Ihr Umfang.

3) Verschlüsse

Grund: Einer der wichtigsten Javascript-Konzept. Wenn Sie den Quellcode vieler berühmter Bibliotheken und Frameworks sehen, die auf Javascript basieren, haben sie häufig Verschlusssachen verwendet. Verschlüsse werden Ihnen auch helfen, zu verstehen, wie Fabriken in der Tiefe arbeiten.

4) Dependency Injection

Grund: Ein JavaScript-Konzept, auf dem Angular JS

5) basiert Sie auch durch einige gute Styleguides für AngularJS gehen kann. Zum Beispiel können Sie sich auf dieses beziehen: https://github.com/johnpapa/angular-styleguide

Verwandte Themen