mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 12:34 Benutzername: Passwort: Auto-Login

Thema: [FAQ] Wie lernt man Javascript? vom 25.11.2007


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [FAQ] Wie lernt man Javascript?
Seite: 1, 2  Weiter
Autor Nachricht
bacon
Threadersteller

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 25.11.2007 21:17
Titel

[FAQ] Wie lernt man Javascript?

Antworten mit Zitat Zum Seitenanfang

Wie lerne ich Javascript?

Javascript ist nicht schwer und man kann dolle Sachen damit machen. Das hier stellt keine Anleitung und/oder Sprachreferenz dar, die gibts zu Hauf im Netz. Ich hab nur mal ein paar Fragen beantwortet, die sich bestimmt jeder stellt, der mit dem Gedanken spielt, Javascript zu lernen, aber irgendwie gar nicht weiß, wie er damit beginnen soll.

Was ist Javascript?
Javascript ist eine clientseitige interpretierte Scriptsprache. Javascript wird in HTML-Dokumente eingebettet und erst im Browser des Clients ausgeführt (im Gegensatz zu bspw. PHP). Jeder moderne Webbrowser liefert einen Javascript-Interpreter, die jedoch teilweise unterschiedlichen Sprachumfang unterstützen. Die Verbindung von Javascript mit HTML und CSS nennt man "DHTML", dynamisches HTML. Javascript wird heuer oftmals dazu verwendet, die Usability auf Webseiten zu verbessern.

Was hat Javascript mit der Programmiersprache Java gemein?
Nichts: http://www.google.de/search?hl=de&q=unterschied+java++javascript&btnG=Suche

Ist Javascript eine objektorientierte Programmiersprache?
Jain. Javascript kennt Objekte, doch keine Klassen. Jedes Objekt leitet sich von einem Basisobjekttypen "Object" ab. Auch bspw. Funktionen. Javascript unterstützt Vererbungsmechanismen über die Eigenschaft "prototype". Javascript ist somit eine prototypbasierte objektorientierte Sprache. Klingt kompliziert, isses zuerst auch. Die gute Nachricht: Es gibt "normale" Funktionen und man kann Javascript auch komplett prozedural notieren. Javascript ist somit auch für Anfänger gut zu erlernen.

Ist Javascript kompliziert?
Nein. Einsteiger können und auf Grund der unkomplizierten Syntax und der leichten Einbettung in HTML schnell Ergebnisse erzielen, Fortgeschrittene können die objektorientierten Konzepte der Sprache erlernen und werden schnell erstaunt sein, wie mächtig Javascript eigentlich ist.

Wo finde ich nützliche Einsteigertipps und Anleitungen zu Javascript?
http://de.wikipedia.org/wiki/JavaScript
http://de.selfhtml.org/javascript/index.htm

Was brauche ich, um Javascript-Programme zu erstellen?
Einen handelsüblichen Texteditor. Es gibt aber auch Javascript-IDE mit erweiterten Funktionen, wie bspw. Aptana => http://www.aptana.com/

Was ist Ajax?
Ajax steht für (dt.) "Asynchrones Javascript und XML". Damit ist gemeint, dass über gewisse Funktionen im Hintergrund durch Javascript Anfragen an einen Server gesendet und auch Antworten empfangen werden können. Das ist keine Magie, stellt euch einfach einen Frame vor, der neu geladen wird. Auch hier wird "im Hintergrund" eine neue Seite vom Server angefordert. Mehr ist das nicht. Halt nur, dass man keinen Frame hat, sondern das ganze durch Javascript gesteuert wird. Das XML darin ist auch abschreckend, man schickt mitnichten ausschließlich xml hin- und her, man kann auch reine Textformate oder was auch immer hin- und herschicken.

Was hat Ajax mit Javascript zu tun?
Die Browsereigenen Ajax-Funktionen sind proprietäre Erweiterungen (d.h., sie gehören nicht zum Javascript-Standard), die über Javascript angesprochen und genutzt werden. Man kann diese Funktionen direkt nutzen, oder man verwendet ein sogenanntes "Javascript-Framework", das eine einheitliche Schnittstelle für diese Funktionen bereit stellt, damit der Programmierer nicht selbst zwischen den einzelnen Browserversionen unterscheiten muss.

Wie mach ich diesen super-duper Fade-Web2.0-Effekt?
Man schreibt Javascript-Code. Oder: Man verwendet ein "Javascript-Framework", das Effektbibliotheken für verschiedene Browser bereits optimiert bereit stellt.

Alter, was ist überhaupt ein "Javascript-Framework"?
Ein Javascript-Framework ist eine Sammlung von Funktionen, die selbst in Javascript notiert sind. Diese Funktionen "machen das Leben leichter", indem sie für ständig wiederholende Aufgaben bereits Lösungen bereitstellen und gleichzeitig darauf achten, dass auch alles in jedem einigermaßen modernen Browser ordnungsgemäß funktioniert.
Vorteile:
- Erweiterter Funktionsumfang als Aufsatz auf den generischen Javascript-Funktionsumfang
- Keine oder nur wenig Crossbrowser-Optimierung notwendig
- Mehr Zeit übrig für Entwicklung, weniger nötig für Debugging

Da Javascript prototypbasierte Vererbung unterstützt und daher jedes Objekt nativ in seinen Ausprägungen zur Laufzeit geändert werden kann (anders als bspw. in Java), "injizieren" diese Frameworks auch Methoden in existierende, vom Browser nativ bereitgestellte Objekte. Damit wird der Funktionsumfang der Sprache nochmal erweitert. Guter Artikel dazu für Interessierte: http://prototypejs.org/learn/extensions.
Javascript ist somit "AOP-ready" *zwinker*

Was gibt es denn für Javascript-Frameworks?

Man unterscheidet zwischen Frameworks und Effektbibliotheken. Manchmal gibts auch beides zusammen in einem Paket, die Grenzen sind also fließend. Grob gesagt: Frameworks stellen Erweiterungen und Vereinfachungen zu Basisfunktionalitäten bereit (bspw. Ajax-Funktionen, cross-browser-optimierte "neue" Funktionen und Widgets), Effekt-Bibilotheken bieten dem Anwender leicht zu konfigurierende DHTML-Effekte (Bewegungen, Animationen etc.), ohne diese selbst mühsam programmieren zu müssen. Mit Effektbibliotheken lassen sich qualitativ hochwertige, grafische RIAs gänzlich ohne Mathematikkenntnisse programmieren (Grundschulwissen vorausgesetzt).

Effektbibliotheken setzen meist auf ein Javascript-Framework auf, sprich: Ohne das eine funzt das andere nicht.

Populäre Frameworks sind bspw. Prototype (www.prototypejs.org) oder Mootools (http://mootools.net) wie auch jquery (http://jquery.com/) und YUI (http://developer.yahoo.com/yui/).

Populäre Effektbibliotheken sind moofx (http://moofx.mad4milk.net/), scriptaculous (http://script.aculo.us), YUI (http://developer.yahoo.com/yui/)

Wie führe ich meine Javascript-Programme aus?
Datei auf Browser ziehen, Fehlermeldungen bewundern!

Wie finde ich heraus, wo die Fehler in meinen Scripten liegen?
Es gibt einige mächtige Debugging-Werkzeuge, die aber den Browsern meist nicht beiliegen. Hier einige Beispiele:

Internet Explorer:
- Microsoft Script Debugger (http://www.microsoft.com/downloads/details.aspx?FamilyID=2f465be0-94fd-4569-b3c4-dffdf19ccd99&DisplayLang=en)
- Javascript Debug-Bar: http://www.my-debugbar.com/wiki/CompanionJS/HomePage

Mozilla Firefox:
- FireBug (https://addons.mozilla.org/de/firefox/addon/1843),
- WebDeveloper (https://addons.mozilla.org/en-US/firefox/addon/60)
- Venkman (https://addons.mozilla.org/en-US/firefox/addon/216)

Im Allgemeinen empfehle ich sowieso, mitm Fox zu entwickeln, da auch Aptana auf den Firefox-Debugger zurückgreift. Was im Fox läuft, läuft i.d.R. auch auf Safari und Opera, am Ende muss man sich halt noch um den Internet-Explorer kümmern.

Wo gibs es Hilfe auf Fragen?
Hoffentlich endlich hier, wenn ein paar Leute endlich mal vernünftig scripten gelernt haben *zwinker*

Ist das alles?
Keine Ahnung, vielleicht hat der eine oder andere ja noch ein paar Tipps und Kniffe auf Lager...

Weiterführende Lektüre:

http://www.galileocomputing.de/openbook/javascript/

http://www.galileocomputing.de/openbook/javascript_ajax/

Sehr guter Artikel zur Strukturierung eigener Javascripte:
http://aktuell.de.selfhtml.org/artikel/javascript/organisation/


Zuletzt bearbeitet von bacon am Mo 03.03.2008 10:40, insgesamt 7-mal bearbeitet
  View user's profile Private Nachricht senden
bacon
Threadersteller

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst So 25.11.2007 21:55
Titel

Antworten mit Zitat Zum Seitenanfang

Konkrete Problemstellungen:

1.) What the Fuck? Irgendwie hab ich Code geschrieben, der ein HTML-Element [löscht/modifiziert/css-Klasse anhängt/...], aber ich bekomm immer n Fehler, dass das Objekt oder die Methode nicht vorhanden ist. Woran kann das liegen???
- Wenn dein Code keine syntaktischen Fehler etc. beinhaltet, liegts wahrscheinlich daran, dass du dein Javascript im Header aufrufst, ohne auf das vollständige Laden der Seite gewartet zu haben. Dann nämlich hatte der Browser noch keine Möglichkeit, den DOM-Tree (sprich die Sammlung aller HTML-Elemente der Seite als Javascript-Objektbaum) aufzubauen. Die Lösung dafür ist die Verwendung eines sog. Event-Handlers (siehe Javascript-Dokumentation):
Code:
<body onload="deineFunktion()">...

oder schöner direkt im Javascript:
Code:
window.onload = function() { ... }
  View user's profile Private Nachricht senden
Anzeige
Anzeige
choise

Dabei seit: 01.02.2007
Ort: Würzburg
Alter: 35
Geschlecht: Männlich
Verfasst So 25.11.2007 21:56
Titel

Antworten mit Zitat Zum Seitenanfang

* Applaus, Applaus * go sticky

Zuletzt bearbeitet von choise am So 25.11.2007 21:57, insgesamt 1-mal bearbeitet
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Smooth-Graphics

Dabei seit: 22.05.2006
Ort: -
Alter: -
Geschlecht: Männlich
Verfasst So 25.11.2007 22:35
Titel

Antworten mit Zitat Zum Seitenanfang

Weiterführende Lektüre:

http://www.galileocomputing.de/openbook/javascript/

http://www.galileocomputing.de/openbook/javascript_ajax/
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
labrar

Dabei seit: 04.04.2006
Ort: -
Alter: 49
Geschlecht: Männlich
Verfasst So 25.11.2007 22:46
Titel

Antworten mit Zitat Zum Seitenanfang

Wow

*Thumbs up!*

Hast dir richtig Mühe gemacht * Applaus, Applaus * * Ich bin unwürdig *

Darum stehe ich so auf solche Foren.
Kein Buch der Welt, selbst wenns 10000 Euronrn kostet kann das ersetzten * Ja, ja, ja... *

Sehr geil. Weiter so
  View user's profile Private Nachricht senden
cyanamide
Moderator

Dabei seit: 09.12.2002
Ort: Altkaiserreich Koblenz WW
Alter: 48
Geschlecht: Weiblich
Verfasst So 25.11.2007 23:39
Titel

Antworten mit Zitat Zum Seitenanfang

choise hat geschrieben:
* Applaus, Applaus * go sticky


/done.

ergänzungen immer gerne.



danke @bacon
  View user's profile Private Nachricht senden
bacon
Threadersteller

Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
Verfasst Mo 26.11.2007 01:55
Titel

Antworten mit Zitat Zum Seitenanfang

Oh, bitte, und danke. Ich machs vlt mal was schöner, aber son Thread sollte auch leben, daher wärs knorke wenn noch mehr Menschen was beisteuern könnten. War jetzt auch nicht so die Riesenarbeit Lächel
  View user's profile Private Nachricht senden
l'Audiophile

Dabei seit: 16.09.2004
Ort: Berlin
Alter: 43
Geschlecht: Männlich
Verfasst Mo 26.11.2007 10:18
Titel

Antworten mit Zitat Zum Seitenanfang

*Thumbs up!*


Habs hier auch mal aktualisiert:

http://www.mediengestalter.info/forum/57/mgi-tutorial-sammelthread-96271-1.html#1429970

Lächel
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
 
Ähnliche Themen [javascript] mit <select> feld wert an javascript funk
Javascript Uhr
Javascript im XML
JavaScript in PHP
ist das javascript ?
javascript im javascript?!
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2  Weiter
MGi Foren-Übersicht -> Programmierung


Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst an Umfragen in diesem Forum nicht mitmachen.