Grundkenntnisse Javascript - Teil 1

  • Dieses Tutorial richtet sich vor allem an Anfänger, welche aber HTML und grundlegende Programmier-Kentnisse haben müssen und hat keinen Anspruch auf Richtigkeit (das heißt ich nehme Verbesserungsvorschläge dankend an :))


    1. Allgemeines
    Dies ist ein Tutorial über Javascript, eine objektorientierte interpretierte Sprache, welche jeder moderne Browser mehr oder weniger vollständig ausführen kann. Sie dient zur dynamischen clientseitigen veränderung von Internetseiten.
    Javascriptcodes sind reine Textdateien und haben die Endung ".js", können aber auch direkt in eine HTML-Datei eingegeben werden.
    So ergeben sich zwei Möglichkeiten ein Javaskript in eine Internetseite einzubauen:



    Wenn ihr einen guten Editor sucht, dann empfehle ich euch Notepad++, dieser unterstütz außerdem noch viele andere Sprachen.


    2. Grunlegende Syntax / Operatoren
    Javascriptbefehle enden stets durch ein Semikolon (";").
    Wenn man Kommentare einleiten will verwendet man ein doppeltes "/", der Kommentar geht dann bis zum Ende der Zeile.


    Javascript kennt sogennante Gültigkeitsbereiche, dies bedeutet, dass jeder Codeabschnitt der durch "{" und "}" eingegrenzt ist seine ganz eigenen Variablen haben kann diese Verfallen nach "}".


    Dies zeigt man am besten an einem Beispiel:



    Die wichtigsten Operatoren von Javascript sind aufgeteilt in vier Gruppen, Arithmetische-, Vergleichs-, Logische- und andere Operatoren.


    Arithmetisch:
    + addiert zwei Werte
    - subtrahiert zwei Werte
    * multipliziert zwei Werte
    / dividiert zwei Werte
    % gibt den Rest einer Division zurück

    Vergleich:

    < kleiner als
    > größer als
    == gleich
    != ungleich
    <= kleiner gleich
    >= größer gleich

    Logische:

    && logisch und
    || logisch oder
    ! logisch nicht


    Andere:
    . Zugriff auf Klassen- methoden / attribute (siehe Abschnitt 5)
    = weist einer Variable einen Wert zu
    ++ erhöht den Wert einer Variable um 1
    -- verringert den Wert einer Variable um 1
    += addiert den Wert hinter dem Operator auf den Wert der Variable vor dem Opertor und weist sie dieser zu
    -= subtrahiert den Wert hinter dem Operator von dem Wert der Variable vor dem Opertor und weist sie dieser zu

    3. Kontrollstrukturen


    3.1 Bedingte Anweisungen


    Javascript unterstützt zwei verschiedene Arten der Bedingten Anweisung, dies bedeutet, das ein Programmteil nur ausgeführtwird wenn eine Bedingung zutrifft.


    Die erste welche ich vorstelle ist das if-else Konstrukt.
    Der Grundlegende Aufbau gestalltet sich volgendermaßen:


    JavaScript
    if(Bedingung)
    {
    //der Code hier wird ausgeführt wenn die Bedingung wahr ist
    }
    else
    {
    //der Code hier wird ausgeführt wenn die Bedingung falsch ist
    }


    An diese Beispiel lässt sich gut erkennen, dass dieses Konstrukt mit "if(" anfängt. Darauf folgt eine Bedingung welche zum Beispiel mit Hilfe von Vergleichsoperatoren gebaut werden kann "zahl==2" nun folgt die schließende Klammer ")". Darauffolgend wird ein neuer Gültigkeitsbereich geöffnet "{" welcher den Code enthällt der Ausgeführt wird fals die Bedingung wahr ist, dieser Gültigkeitsbereich wird danach geschlossen "}". Nun folgt optional ein "else", welches einen weiteren folgenden Gültigkeitsbereich als nur ausführbar markiert, wenn die Bedingung falsch ist.


    Alle nach diesem Konstruk folgenden Zeilen werden nach dem ausführen des Konstruktes ganz normal weiter abgearbeitet.


    Fallbeispiel:


    Die nächste Bedingte Anweisung ist das switch Konstrukt, welches zwischen mehr als zwei Möglichen Werten (wahr/falsch) unterscheidet. Grundsätzlich lässt sich dies auch durch verschachtelung (ineinanderfügung) mehrerer if-else Konstrukte erreichen, aber dies könnte unübersichtlich werden.


    Das break, welches immer nach der Anweisung steht die auf ein switch folgt muss dort stehen, da Javascript ansonsten alles nach dem case ausführt, dies bedeutet im Beispiel, das wenn der Zahlenwert 4 ist nicht nur die Anweisungen unter case 4 sondern auch für 5 ausgeführt werden, dies ist manchmal erwünscht, in so einem Fall kann das break weggelassen werden. (break wird uns im Zusammenhang mit Schleifen auch nochmal als etwas beendendes begegnen).


    Fallbeispiel:



    3.2 Schleifen


    Javaskript unterscheidet zwischen drei Schleifentypen, while, do-while und for, welche die Grundlegende Aufgabe einen Programmteil zu wiederholen auf verschiedene Art und Weise angehen.


    Ich widme mich zuerst der while-Schleife, welche den einfachsten Aufbau hat.
    Der Aufbau einer while Konstruktion lautet wie folgt:


    JavaScript
    while(Bedingung)
    {
    // Code der so lange wiederholt ausgefüht wird wie die Bedingung zutrifft
    }



    Genau wie bei der Bedingten Anweisung hat die Schleife eine Einleitung, welche das Wort while enthällt, welches auch schon viel darüber aussagt wie die Schleife arbeitet (while=solange).



    Jetzt werde ich die do-while Schleife erleutern, da sie ähnlich arbeitet wie die while Schleife.
    Der Aufabu ist so ähnlich wie eine umgedrehte while Schleife:


    JavaScript
    do
    {
    // Dieser Code wird so lange wiederholt wie die Bedingung zutrifft, wird aber auf jeden Fall einmal ausgeführt
    }
    while(Bedingung)


    Der Ablauf ist ähnlich wie bei der while Schleife, aber der Code wird auch wenn die Bedingung schon vorher nicht stimmt dennoch einmal ausgeführt.



    4. Datentypen
    Javascript unterstützt die sogenannte dynamische Typisierung, das heißt eine Variable ist nicht von Anfang an für einen bestimmten Wert vorgesehen, sondern kann im laufe der Zeit
    den Inhalt auch Typübergreifend ändern, so können Zahlen oder Texte gleichermaßen abgewechselt werden.
    Das einzige "Typbezeichnende" was man bei der Erzeugung vor eine Variable hängen muss ist "var", dies zeigt dem Interpreter das es sich um eine Variable handelt
    .


    JavaScript
    var zahl = 1; //nun ist eine Zahl gespeichert (1)
    zahl += 1; //der Wert in zahl ist nun 2
    
    
    zahl = "text"; //der Wert von zahl ist nun der Text "text"


    Eine interessante Sache ist, das man auch mit Text in welchem eine Zahl enthalten ist rechnen kann, aber nur wenn diese am Anfang steht:


    JavaScript
    var text = "123text";
    text += 1; //in text steht nun 124
    
    
    text = "text123";
    text += 1; //ergibt einen Fehler, da keine Zahl erkannt werden kann
    
    
    text = "1text23";
    text += 1; //ergibt 2, da nur die 1 erkannt wird


    Mit freundlichen Grüßen
    Lenny

  • Kein sehr gutes Tutorial.
    Ein Tutorial muss ganz anders anfangen, du kannst uns doch nicht irgendwelche Schleifen, Abfragen usw. an den Kopf klatschen.
    Was soll ich damit anfangen ?


    Wenn du ein richtiges Tutorial machen willst, dann zeig uns zb. ein Video, was man tolles mit Javascript machen kann.
    Und dieses wird dann nach und nach "nachgecodet".


    So finde ich dieses Tutorial relativ sinnlos, weil die ganzen Abfragen und Schleifen kann mir auch auf Wikipedia reinziehen.

  • Ich finde es garnet so schlecht.


    Ich meine als Einsteiger sollte man, wie es bsp in ner Ausbildung ist, ein gewisses Grundwissen aufbauen.
    Und das tut dieses Tutorial denke ich schon.


    Also für jemanden, der noch keine Programmiersprache kann, sicherlich interessant.

  • Zitat


    Wenn du ein richtiges Tutorial machen willst, dann zeig uns zb. ein Video, was man tolles mit Javascript machen kann.
    Und dieses wird dann nach und nach "nachgecodet".


    Schade das es SO genau falsch ist, daraus lernt man näclich nichts.


    Das Tutorial hier ist super gemacht und erklär auch wirklich grundlagen die man einfach draufhaben MUSS wenn man weiter "eintauchen" will.

  • Du hast vergessen zu beschreiben was diese Methoden bedeuten.


    Code
    <!-- Erste Moeglichkeit -->
          <script type="text/javascript" src="sourcecode.js"></script>
    
          <!-- Zweite Moeglichkeit -->
          <script type="text/javascript">


    1. Möglichkeit dient zur externen Einbindung eines Javascript Codes. Vorteil: Man braucht es nur einmal aufzurufen im Seitenkopf.
    2. Möglichkeit ist die In-Tag Variante zur Einbindung eines Codes an Ort und Stelle.


    Korrigiert mich wenn ich falsch liege, Javascript ist lange her ^^

    "Dem wird befohlen, der sich nicht selbst gehorchen kann" - Friedrich Nietzsche

  • Warum sollte man daraus nicht lernen ?
    Was bringt es mir als Javascript unerfahrener zu wissen
    && logisch und
    || logisch oder
    ! logisch nicht


    Was kann ich damit anfangen ?
    Wie setzte ich das ein ?


    Es macht einfach keinen Sinn eine Formelsammlung als Tutorial zu präsentieren.


    Btw.: Komisch, dass 99% alle TUTORIAL (für Einsteiger) Bücher es so machen.
    Ich habe genau auf diesem Weg HTML und CSS und ein wenig JQuery gelernt und es hat prima geklappt,
    besser als es jede Formelsammlung hätte tun können.


    EDIT:

    Zitat

    Wie gesagt, in diesem Tutorial möchte ich Grundkenntnisse vermitteln und nicht irgendwelche komplexe Systeme erklären. Meiner Meinung nach ist es nicht Sinnvoll ein Video nachzucoden, da du dadurch nicht lernst wie die Programmiersprache funktioniert.

    Du sollte auch nicht irgendein Video nach-coden.
    Ich meinte, damit dass du als "Eröffnung" ein Video, Bilder oder Websiten zeigen könntest, was zeigt man mit Javascript alles machen kann.
    Und dann kannst du zb. etwas einfaches Erklären wir man es codet, es sollte sich natürlich steigern, auf einander aufbauen usw.

  • Richtig, die zwei Methoden hab ich ganz vergessen, sry. Aber deine Erklärung ist genau richtig ;)

  • C# = C Sehr ähnlich
    Java = C# sehr ähnlich
    Javascript = Java ähnlich
    somit C = Javascript sehr ähnlich


    Falls ich doch falsch liege (aber ich habe das so in Errinerung) dürft ihr mich gerne darauf aufmerksam machen oder einfach meinen Post löschen =)


    Zum Tut:
    Finde ich sehr gut, vorallem sollte man in einem Forum indem es hauptsächlich um Coden geht schon eine gewisse Ahnung haben, dadurch finde ich es überhaupt nicht schlimm, das du gleich mit mit Schleifen etc. begonnen hast.

    Moderator der Bereiche: Coding, Vorstellungsrunde und Handelsecke. Über Verwarnungen, falls du zu den Wenigen gehörst, die eine Verwarnung von mir erhalten haben, kannst du jederzeit mit mir reden, sofern der Umgangston stimmt.


    expect us. / unkompetent. Das neue dynamisch. / easy-stripping.net - coming soon! / "9§. the entire website bestands out of english." / Vollprofi in allem, wo gibt und noch mehr; kann auch OOP.
    Kleine Coding-Frage? Schau doch in #dev im IRC vorbei, wir können dir sicher helfen.


    Ich bin für Aufträge im Bereich der Webentwicklung (z.B. User Control Panel) zu haben. Kontaktiere mich diesbezüglich einfach in einer privaten Nachricht mit deinen, möglichst konkreten, Vorstellungen.


    lesen.denken.posten. - [22:54:14] <Goldkiller2> früher gabs immer so coole user da stand in der signatur "lesen.denken.posten."


    Mafia 2 Multiplayer (m2mp.de) - Eine kostenlose Modifikation für Mafia 2, die es, ähnlich wie SAMP, erlaubt über das Internet oder LAN mit bis zu 1000 anderen Spielern zu spielen.