Danke für dieses hilfreiche und vorallem auch lehrreiche Video und auch ein dickes Danke, dass du dir für deine Zuschauer und jegliche Anfänger so viel Zeit nimmt. Mein Respekt hast du und mein Abo jetzt auch.
@@ProgrammierenMario Danke der Nachfrage. Im Moment finde ich alles spannend was von Dir kommt. Würde mich nochmal melden wenn mir was spezielles einfällt.
Musste erstmal lachen bei "der deutsche kennt nur Banane und Apfel" 🤣Du hast jedenfalls eine entspannte und lustige Art die Dinge zu erläutern, da hört man dir gern zu. Mein Abo hast du jetzt auch ;- Bin selbst seit nun 20 Jahren in der Entwicklung, aber fast nur PHP (damals noch Object Pascal, Java ua.), JS kam selten vor, bzw. damals wurde es ja eher gemieden. Kann mich zu Zeiten von HTML4 noch erinnern, da hieß es JS in Websites am besten vermeiden (zu buggy, zu unsicher, viele Browser können es nicht sauber usw.)... verrückt wie sich die Zeiten ändern, heute nicht mehr wegzudenken.
Dickes Kompliment an Dich!!! 👍Mit deiner präzisen Vielfalt von Beispielen samt deiner persönlich Smoothen sympathischen Art wie Weise dein Fachwissen mit verschiedensten Variablen die Vielfalt verständlich einfach der vielen Sprachen Programme & Codes auch dem Laien verständlich Sinnbildlich verpackst .. . ... Daumen hoch 👍👍👍
Ich gebe den Kommentar bereits ab bevor ich das ganze Video gesehen habe. Das mache ich nicht oft. Nachdem ich CSS und HTML einigermaßen "drauf" habe, suchte ich nun einen leichten gut vermittelten Einstieg in Javascript. Nachdem ich mir erst 3 andere Tutorials, von bekannten TH-camr Programmierern anschaute wo ich bei einem bereits ein richtiges Spiel als Anfänger schaffen sollte, und ich nur kopieren einfügen konnte ohne die Dinge wirklich komplett zu verstehen bin ich wieder bei dir gelandet. Nach einem Spaziergang in der Natur kam mir einfach wieder die Idee ob du nicht ein TutorialVideo zu Javascript gemacht hast, deine Erklärmethode ist wirklich herrausstechend angenehm im Vergleich zu vielen anderen. Manche sprechen auch zu schnell und dies ist abgehoben. Man kann ja bei HTML und CSS mit Projekten direkt starten aber bei Javascript glaube ich ist es besser vorher die wichtigsten Elemente zu verstehen. Danke vielmals für dein Tutorial!
Vielen herzlichen Dank für deine Nachricht. Immer wenn ich in meine älteren Videos reinschaue, sehe ich wie unsicher ich noch vor der Kamera war und wie oft ich mich versprochen habe. Da freue ich mich um so mehr, wenn solch positiven Kommentare kommen. Mein Ziel ist alles so einfach wie möglich zu erklären und die Komplexität zu minimieren. Soll ja jeder der Willens ist nicht gleich am Anfang die Motivation verlieren. Da darf es ruhig etwas lockerer sein. ;) Leider muss ich bei manchen Themen Wissen voraussetzen. Versuche aber dennoch mein obiges Ziel umzusetzen. Wünsche dir viel Erfolg.... mein Pizza Tag war am Samstag ;)
@@ProgrammierenMario Sehr gerne :-). Ja man soll ja den Spass nicht verlieren, gerade am Anfang. Wenn ich gleich dein Video angeschaut hätte, hätte ich mir den Frust sparen können. Freut mich das die Kommunikation hier auch auf Augenhöhe stattfinden kann :). Vielen Dank auch für deine Erfolgswünsche, kann ich gut gebrauchen :-). Ich arbeite mich ersteinmal denke ich von Tutorial zu Tutorial, bis ich mit dem vorhandenen Wissen selbstständig kleinere Projekte realiesieren kann, bzw in meinen vorhandenen Websiten die fehlenden Javascripte einbaue wie ich sie haben möchte um das ganze auch dann wieder praktisch anwenden zu können.
Hallo Mario, ich wollte mal ganz ein ganz fettes Dankeschön hinterlassen für deine tollen Videos. Seit einem Monat bin ich als Webentwickler tätig und deine Videos helfen mir sehr beim Verständnis!
wow Hammer! Erzählst du alles super Toll! große Respekt! :) Vielen Vielen vielen Dank! , Tolle stimmte, nicht zu schnell und nicht zu langsam, in Punkt. Für Anfänger sehr hilfreich es zu verstehen ! :)))
Tip Top! Vielen Dank für deine Erklärungen. Die haben mir den Einstieg in die JS Welt deutlich erleichtert und näher gebracht :) Freue mich schon auf deine anderen Videos!
Heilige Scheise ist das gut geworden!! Vor allem bitte was mit JavaScript kann man so vieles mehr machen als halt nur die Logik einer Website?? Krass also ist das auch außerhalb von meinem Front-end Ziel sehr nützlich. Ey, wenn du nur wüsstest wie wertvoll du für solche Leute wie mich bist!!!
Ist mit den Jahren ganz schön gewachsen. Gerade was Desktop-Anwendungen betrifft. z.B. Visual Studio Code, WhatsApp oder Twitch wurden mit JavaScript und dem Electron Framework entwickelt ;)
@@ProgrammierenMario Das Electron Framework kenne ich aber bringt das nicht irgendwo auch Probleme mit sich wenn man „nur“ die Sprache also den Syntax übersetzt damit man die apps Lauffähig kriegt? Alleine ein mini Handy game auf die switch zu kriegen z.B. erfordert ja etliche Korrekturen
Es wird der Chromium Browser und Node.js mit in die Anwendung eingebettet. Also läuft JavaScript ganz normal in einer Browser-Instanz. Die Anwendung besteht dann im Grunde nur aus HTML Seiten, CSS und JavaScript. Wie bei einer Website ;)
Super Mario; Tolles Video, super erklärt. Ich selbst programmiere viel in Java(-srcipt) hab alles im Selbststudium erlernt. Hätte ich dein Video am Anfang gehabt, wäre vieles einfacher gewesen. Daumen hoch ...
@@ProgrammierenMario vor ca. 3 Jahren. Dank der Pandemie konnte ich mein Wissen noch weiter ausbauen. Ich programmiere allerdings nicht in WWW-Seiten, eher Node.js bzw Backend. Meine Anfänge waren allerdings tatsächlich auch via Konsole im Firefox und html Manipulation
Mit Abstand qualitativ der beste der Javascript erklärt hat. (hane viele deutsche gesehen) kleiner tipp schreibe dir doch paar stichworte auf ein zettel oder so ich habe das gefühl das würde dir gut tun;) abo auf jeden!
Danke für den Tipp, Notizen mach ich mir auch zu fast jedem Tutorial. Aber ich bin auch ein Freund davon in einem Rutsch aufzunehmen damit ich das Video nicht so viel schneiden muss. Ständig auf Notizen zu schauen unterbricht mich auch dann zu sehr. Gerade bei den langen Tutorials hab ich oft nur einen einfachen Fahrplan und lass es gerne einfach laufen und improvisiere zwischendurch :)
Super Video! Ich hab hier ihr da Mal ein Tut über Javascript geschaut und die haben immer zu hoch angesetzt für Nulleinsteiger. Hier wird wirklich Mal leicht verständlich der Aufbau und die Zusammensetzung der Syntax erklärt. Davon könnte ich mehr gebrauchen. 😁👍👍
Richtig super!!!! Wollte jetzzt auch anfangen und deine Videoreihe ist noch frisch besser kanns ja nicht laufen! :) Danke jetzt schonmal für den guten Content bisher! ;) Bin bereit! :- )
Haha 😂 Das freut mich natürlich sehr. 🙂 Bei HTML, CSS und JavaScript ändert sich über die Jahre aber nicht sonderlich viel. In diesen Bereichen kannst du dir auch ältere Tutorials anschauen. 😉 Herzlich Willkommen und Happy Coding ✌️
Variablen die mit var deklariert werden, sind auf den unmittelbaren Funktionskörper beschränkt (function scoped), während let Variablen auf den unmittelbaren umschließenden Block beschränkt sind, also { } (Block scoped). Somit ein dickes Bingo! ;)
Ich finde deine Erklärungsweise echt super, hab schon einige Tutorials gesehen. Entweder sprechen die TH-camr zu schnell oder zu leise oder sonstwas. Bei dir, auch wenn dein Akzent manchmal sehr witzig ist, kann man deinen Ausführungen sehr gut folgen. Mich würde sehr über ein Tutorial von Python freuen. Falls dir die Sprache intressieren sollte ;D Hast du ein Patreon Konto ? Würde echt gerne dir was speden wollen ;D
Hallo Bogus, vielen herzlichen Dank für dein Feedback. Python ist bei mir erstmal nicht geplant, aber du könntest mal bei Chris vorbeischauen --> th-cam.com/users/Programmieren BTW, leider habe ich kein Patreon Account tut mir leid :)
@@ProgrammierenMario Ich lerne Fullstack bei so einem Bootcamp deshalp die Frage. Wenn Du kleine Awendung machst kann ich nachvollziehen wie die Logik dahinter ist und würde mir helfen. Danke nochmal!
Echt super video. Super erklärt. Wäre nicht wenn du ein praxisnahe Projekt mache würdest als Video Reihe von man JS und ggf html css einbindet. Ein textadventure oder was du magst.
Hallo Mario. Ich habe da eine Frage zum Einbinden der Javascript Datei bzw mit dem Finden von Elementen. Z.B. habe ich auf Seite A ein H1 Element dem ich per Javascript einen Wert übergebe. Wenn ich mich auf Seite B befinde wo dieses Element nicht existiert bekomme ich dann auf der Konsole diese Fehlermeldung Cannot set properties of null. Die Fehlermeldung hat zwar keine Auswirkungen aber nervt trotzdem. Kann man die irgnedwie unterbinden?
In diesem Fall solltest du prüfen ob das jeweilige Element existiert, und nur wenn ja etwas damit machen: let element = document.querySelector('.my-class'); if (element !== null) { // Mache irgendwas damit ;) }
Hallo Mario! Super Video über JavaScript! In diesem Zusammenhang hätte ich eine Frage betreffend Python. Man hört oder liest, dass Python quasi JavaScript 'ablösen' sollte/wird und es wird auch als eine Art 'Allzweck-Programmiersprache' gehandelt und man sollte sie unbedingt erlernen. Es heisst auch, dass man mit Python ganze Webseiten erstellen kann etc.. Aber irgendwie habe ich diesbezüglich keinen echten Durchblick wozu Python eigentlich 'gut' sein sollte?! Wäre schön, wenn Du diesbezüglich mal ein 'Aufklärungsvideo' dazu machen könntest. Danke und Gruss, Peter😉
Mit Python kannst du recht viel machen das stimmt. Und es gibt viele Bereiche wo du entweder Python oder JavaScript verwenden kannst. Was du persönlich verwenden möchtest ist deine Vorliebe. Die universellen Sprachen nähern sich auch immer mehr an. Da spielt das keine wirkliche Rolle mehr. Aber Python wird JavaScript in einem Bereich niemals verdrängen. Dem Frontend. Die Browser können nur JavaScript interpretieren. Du könntest z.B. Backendseitig PHP mit Python ersetzen oder NodeJS mit Python. Aber für das Frontend ist dies nicht möglich. 🤷♂️
@Programmieren mit Mario Hallo Mario, du hattest nicht darauf hingewiesen, daß du die index.html mittels LiveServer bereits aufgerufen hattest, so dass das console.log() sofort ausgeführt wird.
Auch finde, dass das ein richtig tolles Tutorial ist. Alles ist super nachvollziehbar! :) Allerdings gibt es Probleme beim Öffnen der Konsole, wenn man sie in VS Code versucht zu öffnen. Du hattest sie bereits geöffnet. Bei mir erscheinen Fehlermeldungen wie: Der Befehl "node" ist entweder falsch geschrieben oder konnte nicht gefunden werden. oder auch fehler beim laden der webansicht Rufe ich die Konsole falsch auf oder was könnte der Fehler sein? Herzliche Grüße und dankeschön! Robert
Hallo Robert, als erstes musst du im Browser die index.html öffnen bzw. die Datei in welche deine JavaScript Datei eingebunden ist. Dann kannst du im Browser die Konsole öffnen indem du einfach F12 drückst. Dann öffnet sich ein kleiner Bereich an der Seite oder unten. Normalerweise musst du nach jeder Änderung in der JavaScript die Seite im Browser aktualisieren wenn du die Änderungen sehen möchtest. Es gibt aber auch die Möglichkeit den Live Server zu verwenden, welche eine Extension für VS Code ist. Wie du diese einrichtest und benutzt erkläre ich in diesem Video: th-cam.com/video/ZfR1DqzdHeU/w-d-xo.html Hoffe das hilft dir erstmal ein wenig weiter... Grüße ;-)
Super hilfreich für die ersten Schritte! Danke. Ich benötige JS für ein Serverprojekt (eventuell auch mit Node JS). Ohne HTML/CSS. Was sind dafür geeignete Bücher oder Ressourcen, um sich das selbst beizubringen? Fast alles, was ich sehe, verlangt nach HTML incl. CSS als Voraussetzung.
@@ProgrammierenMario Danke, Mario. Das habe ich mir schon angeschaut. Es geht also vielmehr um JS Server und Client seitig. Es gibt wirklich viele tolle Tutorials, auch von Dir. Aber meist geht es dann doch um Webentwicklung. Das genau benötige ich nicht.
Es ist zwar toll dass man das erste und das letzte Element aus einem Array oder obj wegnehmen oder ändern kann, aber was, wenn ich was aus der Liste löschen muss, das irgendwo in der MItte ist oder wo ich die Position überhaupt nicht kenne? Z.B. aus der Obstliste den Apfel und ich weiß nicht, an welcher Stelle der Apfel ist. Mein bisheriger Lösungsansatz um so ein Element z.B. aus der Mitte zu löschen (auch in PHP) war, dass ich das bisherige Array OHNE das zu löschende Element in ein neues Array kopiere und dann das alte wieder mit dem neuen überschreibe. Aber auch hier muss ich das Element bzw. dessen ID genau kennen, damit ich darauf zugreifen kann. Aber es muss doch eine bessere Lösung geben, oder?
Ganz genau. Dafür gibt es die Array.splice() Funktion, schau mal hier --> developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/splice Damit kannst du Elemente im gesamten Array hinzufügen, ersetzten und löschen. Das machst du über den Index, welchen du z.B. über Array.findIndex() ermitteln kannst --> developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex Hoffe das hilft dir erstmal weiter ;)
Hallo Mario, dein Tutorial gefällt mir sehr, aber ich bekomme immer eine Fehlermeldung, die da lautet: newContend is not defined. Wo liegt der Fehler? Kannst du vielleicht etwas dazu sagen? Liebe Grüsse
Hallo Michael, nun es wird newContend verwendet aber es wurde zuvor nicht definiert. Hast du es vllt. bei der Definition anders geschrieben? Ansonsten kann ich ohne deinen Quellcode zu sehen nur vermuten woran es liegen könnte 😉
Hallo Mario, danke für die schnelle Antwort. Der Quelltext ist genauso, wie in deinem Video. Ich habe ihn einfach mal 1 : 1 kopiert. Ich hoffe, ich habe doch nichts übersehen? Vielen Dank nochmal für die schnelle Antwort. Absenden let clickButton=document.querySelector('#click-button'); clickButton.addEventListener('click',eingabe); function eingabe() { let input=document.querySelector('#input'); let output=document.querySelector('#output'); let newDiv=document.createElement('div'); let newContent=document.createTextNode(input.value); newDiv.appendChild(newContend); output.appendChild(newDiv); input.value=""; } Liebe Grüsse Micha
Hallo Micha, ja wie vermutet hast du es versehentlich falsch geschrieben: let newContent=document.createTextNode(input.value); newDiv.appendChild(newContend); In der ersten Zeile steht bei dir "let newContent" mit t am Ende und bei appendChild darunter hast du "newContend" mit d am Ende geschrieben. Grüße...
ist ja gut und schön Prob ist : wie kommen die Daten (Ausgabe) in den Browser rüber von VSC bei mir bleibt das Fenster Leer. Danke für eine rasche Antwort
Um generell eine Website/Daten im Browser auszugeben benötigst du HTML. Da empfehle ich dir mein HTML Grundlagen Tutorial --> th-cam.com/video/3Djmh7V70NE/w-d-xo.html Wenn du aber mit JavaScript HTML dynamisch generieren und ausgeben möchtest, kann ich dir dieses Video empfehlen --> th-cam.com/video/tdglfPMwGFU/w-d-xo.html Wenn du noch Hilfe bei VS Code benötigst dann empfehle ich dir die ersten 2 Videos aus dieser Playlist --> th-cam.com/play/PLnqycjkeRGqmlJvXkxqSvIynlxaiKecPN.html Hoffe das hilft dir erstmal weiter :)
Hey Mario, vielen Dank für deine Videos, sie haben mir bei HTML und CSS sehr geholfen. Ich habe habe bei diesem Video „ JavaScript „ ein Probelm. Ich kann nicht VS Code Studio mit Console von Chrome Verbinden. Die Console in Vs Code wird gezeigt, aber wie du es in deinem Video machst, kann ich nicht. Wie kann ich mich mit Console von Chrome Verbinden, dass ich sehe kann, was ich da gerade geschrieben habe. Ich kann sogar eine Seite in Chrome offenen, aber die Console irgendwie nicht. Danke dir für deine Hilfe.
Also im Video habe ich einfach die Browser Console oder den Browser an sich neben VS Code gelegt. Also einfach die zwei Fenster nebeneinander. Zur Browser Console kommst du wenn du im Browser F12 drückst. Dann öffnet sich die Console. Über die 3 Punkte kannst du einstellen das dieser Bereich ein eigenständiges Fenster sein soll. Damit aber automatisch hier eine Ausgabe kommt direkt nach dem speichern in VS Code, ohne extra die Seite im Browser neu zu laden, dafür ist eine Erweiterung für VS Code notwendig. Diese heißt "Live Server". Einfach im Bereich Erweiterungen danach suchen und installieren. Nun kannst du deine index.html Datei, per rechten Mausklick in VS Code und dann mit Live Server Starten, im Browser anschauen und die Hot Reloading Funktionalität ist mit aktiviert. Das läuft dann alles unter einem temporären Web Server unter der Adresse localhost:5500 Wenn du hier wieder die Browser Console öffnest sollte dann alles klappen. Hoffe das hilft dir erstmal weiter ;)
Sehr schönes Video ich habe nur eine Frage die währe wie du die Console geöffnet hast, ich habe mir das Programm runtergeladen. Ich habe aber nichts gefunden wie ich die Konsole links an der Seite öffne. ich hoffe du findest Zeit mir mal zu helfen. ;)
@@ProgrammierenMario Tut mir ja leid das ich so viel frage aber ich habe vor deinem Video noch nie etwas damit zu tun gehabt. Ich habe die Konsole geöffnet aber ich weiß halt nicht wie man das so zu sagen verbindet(ich dachte eigentlich das passiert mit dem console.log ). Ich hoffe du kannst mir das irgentwie schriftlich erklären. Ich bin sehr interessiert an dem Tema. Übrigens machst du das sehr gut. :) LG
Mit console.log kannst du nur etwas auf der Konsole ausgeben. Für VS Code musst du dir die Live Server Extension installieren. Das kannst du direkt im VS Code machen. Danach startest du den Live Server in VS Code für deine index.html Datei in der du dein JavaScript verwendest mit Rechtklick auf die html Datei und der Auswahl "Start Live Server ...". Danach öffnest du im Browser die Seite localhost:5500 falls das nicht schon automatisch passiert ist. Dort öffnest du dann die Browserconsole mit F12. Jetzt aktualisiert sich die Seite (Und auch die Browserconsole) automatisch nach jeder Änderung an der Datei(en). Du kannst dir auch gerne mein Extension Video für VS Code anschauen, da zeige ich das mit dem Live Server: th-cam.com/video/ZfR1DqzdHeU/w-d-xo.html
Hallo Mario. Du sagst .querySelector('#id')... Wasist der Unterschied zur .getElementById('id')?? Und warum sagst du nicht zum Bespiel ('id').innerHtml = `und gibst etwas ein`;? Danke dir schon mal im voraus super content :D
Hallo Chiro, es gibt viele Möglichkeiten wie man das ganze machen kann. Dabei gibt es nicht unbedingt ein richtig oder falsch. Mit querySelector z.B. hast du mehr Möglichkeiten wie du etwas selektieren kannst. Bedeutet aber nicht das die andere Methode schlecht ist. Ziel ist immer das es am Ende funktioniert ;)
Was soll man tun damit die Ausgabe sich automatisch wie bei dir in Browser aktualisiert? Es steht bei dir localhost 5500, ich habe die Datei einfach rübergezogen, vielleicht deswegen:(
@@ProgrammierenMario Mal noch blödere Frage: was soll man machen damit man überhaupt die Ausgabe bekommt? Ich merke erst jetzt, dass ich keine richtige Ausgabe habe, sondern es wird einfach der Code aus VS doubliert.
Schau mal hier rein -> th-cam.com/video/R_kYdYIP-QM/w-d-xo.html Ist zwar nicht direkt der Live Server, aber funktioniert vom Prinzip her gleich. Falls dir die erweiterten Features zusagen kannst du auch gleich diese verwenden 🙂
Hallo Mario! Ich bin doch tatsächlich ein Fan von dir geworden. Der Hammer - aber egal....ich habe da nochmal eine Frage: ich habe für das arbeiten mit VSC "Five-Live" heruntergeladen. MUSS ich es irgendwo einbinden, denn die Automatisierung funktioniert nicht! Kannst du mir das bitte nochmal Schritt für Schritt erklären? Ich wäre dir auf Ewig echt dankbar Gruß, Michael
Hallo Michael, dazu hatte ich mal ein Tutorial gemacht --> th-cam.com/video/R_kYdYIP-QM/w-d-xo.html Wenn du aber kein PHP verwendest und erstmal mit JavaScript verwendest empfehle ich dir lieber diese Erweiterung zu verwenden --> marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer Erfahrungsgemäß gibt es damit weniger Probleme.
Wie verfährt man, wenn man die Values aus mehreren(!) Inputfeldern mit einem(!) Button-Click ausgeben möchte? Bsp . Input(Vorname) Input (Nachname) "ButtonClick" --> Output: Vorname Nachname Hab schon Einiges versucht, wie etwa #input-2 sowie #output-2 einfach nach einem Komma in die gleiche Klammer wie #input bzw. #output zu setzen. jQuery möchte ich hierfür nicht verwenden.
Wenn du die Werte aller Input Felder ausgelesen hast kannst du diese aneinanderketten und zusammen ausgeben. Zeichenketten kannst du ganz einfach mit + zusammenfügen.
In diesem Video geht es erstmal um die absoluten Grundlagen. Wie du JavaScript einbindest/benutzt, Wie du Variablen definierst, was Funktionen sind, Objekte, Arrays usw. und wie du anhand eines Beispiels einen Wert von einem Input Feld auslesen und auf der Website ausgeben kannst. Dies wirst du für so gut wie alles brauchen wenn du JavaScript verwenden möchtest. Und dann? Wie gehts weiter? Als erstes solltest du dir Gedanken darüber machen was du für ein Projekt umsetzen möchtest. Daran orientiert sich am Ende alles. Also was möchtest du programmieren?
@@ProgrammierenMario Also mein Ziel ist es mich im Bereich Frontend weiterzuentwickeln. Später auch node.js & react.js zu lernen. Interactive Internetseiten bauen etc. Gibts da eine Roadmap für?
Hi, ich möchte aus einer Table daten auslesen und beschreiben. so funktioniert es: let rows = document.getElementById("CtDataTable").rows; let myrows = Array.from(rows); for(i=1;i
@@ProgrammierenMario Bei diesem Code: let rows = PageElement.CtDataTable.rows; let myrows = Array.from(rows); myrows.forEach(function(row) { let cells = row.getElementsByTagName("td"); console.log(cells[0]); let myindex = Keys.indexOf(cells[0].innerHTML); if(myindex != -1) { cells[1].innerHTML = Values[myindex]; } else { cells[1].innerHTML =""; } }); erscheint das in der console: script.js:50 Uncaught TypeError: Cannot read property 'innerHTML' of undefined das ist die Zeile mit der cells[0].innerHTML abgerufen wird.
Typescript habe ich bisher noch nicht in meinen Tutorials verwendet. Das Export/Import kann für das erstellen und verwenden von Modulen verwendet werden.
Hallo Maria, vielleicht eine etwas unpassende Frage unter diesem Tutorial, sorry! Ich schwanke momentan noch etwas zwischen JS und PHP? Ich kenne die ewigen Kritiken von PHP, aber was denkst Du?
Hallo Ralph, da ich um diese Uhrzeit die Maria nicht mehr erreiche muss ich dir das ein andermal beantworten. 😂 Bis dahin Gegenfrage: Was möchtest du denn umsetzen? Also welches Ziel hast du?
@@ProgrammierenMario Sorry, ich bin nach einem harten Tag wohl etwas müde, daher mein Verschreibser und habe mich wohl bei PHP etwas mit der Datenbankanbindung (MySQL oder MariaDB) beschäftigt. Und Maria und Mario sind fast identisch :-) Ich danke Dir für Deine schnelle Rückmeldung, was aber nicht geeilt hätte. Es geht um Webseiten-Programmierung. Ok, PHP-> Backend und JS -> Frontend. Vermutlich ist dabei aber JS wohl universeller. Achja, und ich möchte Dateien lesen können. Geht wohl aber auch mit AJAX unter JS.
Alles kein Problem, hab’s mit Humor genommen. Nun du hast Recht. JavaScript ist universeller und du brauchst es so oder so. Ich habe damals mit PHP angefangen und verwende ich auch heute noch sehr gerne. Aber das hat in deinem Fall vermutlich auch Zeit für später. Ich würde mich am Anfang eher erstmal auf eines konzentrieren und dort mein Wissen vertiefen. Dann fällt es dir später leichter andere Sprachen zu lernen. Es gibt sehr viele Parallelen.
@@ProgrammierenMario Lieber Mario, vielen Dank für Deine wiederum sehr schnelle und fundierte Antwort. Ich danke Dir für Deine Zeit und für Deine Mühen! Beste Grüße, Ralph
Hi. Ich mal wieder Bin ja recht neu in Sachen js unterwegs. Mich hatte es bspw. Gewundert, dass man von einem Skript auf eine in einem anderen Skript mit let global deklarierte Variable zugreifen kann. …. Dann wurde mir gesagt, dass man das nicht machen soll… schon klar, aber wie verpacke ich sie denn dann? Muss man eine {} um das Skript machen, Oder legt man seine Logik in Klassen an und deklariert im Haupt Skript dann nur die entsprechende Klasse, oder wie gehst Du da vor?
Hallo, auch ich mal wieder ;) Mein Rat an dich ist wenn etwas funktioniert dann ist es richtig. Es gibt wahnsinnig viele Wege wie man etwas umsetzen kann, wie man etwas programmieren kann. Es gibt kein richtig oder falsch wenn es funktioniert. Es gibt nur Vor- und Nachteile. Und das hängt immer von den Gegebenheiten bzw. den Umständen ab. Willst du beruflich programmieren oder machst du es nur für dich selbst für private Projekte? Falls letzteres zutrifft dann mach es ruhig so wie es für dich Sinn macht. Wenn es sich für dich gut organisieren lässt und du den Überblick behältst dann ist das vollkommen ok. Natürlich kannst du auch alles in Klassen organisieren, aber das könnte für den Anfang auch viel zu viel sein. Und macht erst ab einer bestimmten Projektgröße auch wirklich Sinn. Wie immer nur meine Meinung ;) Wie ich da Vorgehe? Das hängt stark von der Projektgröße ab. Bei kleinen Sachen halte ich es ganz unkompliziert, mit wenig mitteln schnell und einfach zum Ziel. Bei großen Projekte mit hunderten Dateien werden Frameworks und verschiedene Pattern verwendet um alles wartbar und skalierbar zu halten.
@@ProgrammierenMario ja das hört sich soweit ok an. Also. Beispiel: Habe eine Script.js und darin variablen mit let deklariert. (Also vor dem eingekochten Code, da ich sie in dem Skript überall verwenden wollte). Da meinte jemand zu mir, dass das schlecht wäre, weil diese dann auch von anderen Skript Dateien angesprochen werden können. Wie siehst Du das? Ps. Genau das habe ich mir zu nutze gemacht und eine data.js. Angelegt, in welcher ich die Daten aus dem eingentlichen Skript ausgelagert habe. (Datei wird von außen erzeugt). Mir wäre natürlich eine JSON lieber, welche ich von außen ind Skript bekomme, aber wenn ich die html lokal ohne Webserver nutzen möchte, dann geht ja fetch nicht. Hast Du hier noch ne andere Idee? Ich habe jetzt auch bei einem wahrscheinlich für Dich Mini Projekt Tailwind genutzt. (Gerade mit den Klassen und Grid finde ich toll. Würdest Du das für einen Anfänger ok finden? Ach ja, wenn Du größere Projekte hast und Daten zwischen Skripten austauschen musst, die nichts voneinander wissen. Wie geht das in js? Bspw. In C# kann man ja ein Event „schmeißen“, welches dann außerhalb der deklarierten Klasse im Main abgefangen werden kann und an die entsprechend andere klasse übergeben werden kann. In js so ähnlich? Sorry wenn es so grundlegende Fragen sind, aber möchte gerne auf dem richtigen Weg in js starten.
Zum ersten hast du es ja in der Hand ob andere Skripte auf die selben Variablen/Daten zugreifen dürfen/können. Das kann von Vorteil sein oder ein Nachteil. Es ist in größeren Projekten sogar gängige Praxis dies so zu machen. Man hat einen zentralen Store wo man sämtliche Daten vorhält und wo verschiedene Komponenten darauf zugreifen/Daten ändern die wiederum auch Auswirkung auf andere Komponenten haben. Wichtig ist hierbei das du es so organisierst das du den Überblick behältst und z.B. keine Variablen/Funktionen verwechselst. Ansonsten können diese durch andere Skripte/Komponenten unwissentlich überschrieben werden. Wie du siehst es gibt hier kein generelles Falsch. Wenn ich sowas brauche dann nutze ich dafür ein JS Framework, wie z.B. Vue.js Das alles in reinem JS abzubilden ist mir mittlerweile zu umständlich geworden, werde zu Vue.js auch Tutorials machen ;) PS.: Ich sehe kein Problem darin Tailwind zu verwenden...
@@ProgrammierenMario OK, danke. Kannst DU noch was zum Einlesen von JSON ohne webserver sagen? Ps. kannst Du auch noch meine Frage in deinem Fetch Video ansehen? Danke ;-)
Bei einigen Browsern ist es aus Sicherheitsgründen nicht erlaubt auf lokale Dateien zuzugreifen. Du könntest dies zwar erlauben aber dies gilt dann generell auch wenn du normal den Browser "online" verwendest. Falls du dein Projekt nur für dein Heimnetz verwenden möchtest dann kannst du dir auch einen Web Server einrichten, dies würde ich dir empfehlen wenn du auch per Handy z.B. über wlan auf deine Projektseite zugreifen willst. Über xampp oder wamp gibt es fertige pakete für windows die du verwenden kannst. Oder über eine NAS wo es ebenfalls web server für gibt, das wäre dann mein persönlicher Favorit ;)
Minute 29: Normalerweise ist eine if-Abfrage kein eigener Gültigkeitsbereich. Zumindest nicht in sonstigen Programmiersprachen. Bei einer Funktion ist das klar, das wäre ein separater eigener Bereich, aber dass das hier in JS auch innerhalb einer IF-Abfrage ist, ist doch ungewöhnlich.
Dies zählt aber auch nur für let und const wenn diese innerhalb von if, for etc. definiert wurden. Diese sind block scoped - erzeugen quasi für einen block (geschweifte Klammern) einen separaten Gültigkeitsbereich. Bei var ist das nicht so, hier wird der globale scope (Gültigkeitsbereich verwendet). var nutzt nur innerhalb von Funktionen einen separaten Gültigkeitsbereich wenn es dort deklariert wurde.
@@ProgrammierenMario das erklärt einiges. Ich wusste nur bisher dass var etwas mächtiger ist, wusste aber nichts Genaues. Habe mir auch weiter keine Gedanken gemacht, weil ich das von php mit der Gültigkeit anders gewohnt bin. "Let" kann man ja auch weglassen. Folgendes müsste doch dasselbe sein: Also Let a = 2 dasselbe wie a = 2, oder?
Hey Mario, ich stelle mir gerade eine Frage, was ich für "sinnvoller" halten soll. Was ist denn deine Meinung dazu? Ich möchte Daten in mein Skript auf einer Datei importieren und bearbeiten. (Dies sind einzelnen Artikel mit ca. jeweils 10 Attributen). Da ich lokal irgendwie mit fetch nichts öffnen kann (ohne Webserver), fällt JSON erst einmal flach. Ich habe nun einfach eine js datei erzeugt, in welcher die Daten in einem Array und darin in einer Struktur liegen. Dieses Arry, kann ich mir mit getData() in mein Skript holen. --> Funktioniert top. Frage nun: Sollte man für so etwas klassen anlegen, oder ist das vollkommen ok so? Wie lagt man eigentlich eine klasse in einem array an? Ich meine, wenn ich eine JSON eingelesen hätte, hätte ich ja auch keine klasse, oder? Zweite Frage wäre: Ichhabe im HTML viele direkte Überschriften usw. Wenn man es nun internationalisieren muss/will und die Sprache umschalten muss, wie löst man das denn am geschicktesten? Muss man jetzt hier überall bspw. den innerhtml code im mittels js anpassen? Dritte Frage: wenn ich in meinem mit tailwind erstellten Projekt seiten habe, welche in unterordner liegen, kann man dann auch irgendwie je unterordner bzw. je seite eine style.css erzeugen, oder muss man von allen seiten auf ein und die selbe css vom Hauptverzeichniss schauen?
Na hab schon auf den nächsten Kommentar von dir gewartet 😂 Generell kannst du das JSON Format auch direkt in JavaScript nutzen, also ohne es in einer externen Datei zu haben. Hier kannst du es z.B. einfach einer Variable zuweisen. Internationalisierung ist so ein Thema wo es tonnenweise Ansätze gibt wie man sowas umsetzen kann bzw. was man dafür auch verwenden kann. Das hängt dann stark davon ab was das Ziel ist und wie umfangreich das Projekt ist und ob du Frameworks einsetzt und und und. SEO ist hierbei auch ein Thema falls das wichtig sein soll. Pauschal kann ich da so nichts sagen. 🤷♂️
@@ProgrammierenMario OK, weil ich gerade mal einem kollegen ein "Teil" eines Projektes senden wollte, damit er es sich mal ansieht und da im html die css dateil im Hauptverzeichnis liegt, hätte ich entweder die einbindung ändern müssen, oder den Kompletten Hauptordner mit senden müssen. das fan ich etwas unschön. Aber naja, wenn das so ist, dann werde ich es mal akzeptieren. Man hätte es halt so schön abgekapselt gehabt.
Ja das kann ich verstehen. Der Grund ist das sonst sehr vieles doppelt und dreifach vorhanden ist. Also CSS Klassen die du in allen HTML Dateien verwendest. Der Vorteil ist auch wenn du nur eine hast, diese dann vom Browser gecached wird und somit nur einmalig geladen werden muss auch wenn der Besucher der Seite weitere Seiten von deiner Website anschaut.
Mich irritiert furchtbar, dass die js-Dateien erst am Ende der Html-Datei eingebunden werden, aber ihre Funktion schon vorher aufgerufen wird. Wieso funktioniert das? Ich muss nach meinem bisherigen Programmierverständnis doch erst die Werkzeuge laden, bevor ich sie benutzen kann und nicht umgekehrt. Kann mich noch etwas an Fehlermeldungen - auch des Browsers - erinnern, dass sich ein Programm deshalb beschwert, weil eine Funktion aufgerufen wurde, die noch gar nicht definiert bzw. vorhanden war. Ist das mittlerweile anders? Deshalb gibt es ja in JQuery auch die $-Ready-Anweisung, die sicherstellt, dass der Code erst ausgeführt wird, wenn alles geladen wurde.
Hi, kannst du mir ein Timestamp vom Video geben? Ist schon eine Weile her und so kann ich besser auf das Beispiel eingehen. Grundsätzlich musst du die JS-Dateien nicht am Ende einbinden. Du kannst diese auch im document-Head einbinden und da aber mit dem Attribut "defer" wenn dieses erst ausgeführt werden soll wenn das document vollständig da ist. Wichtig ist nicht immer unbedingt die Reihenfolge wann etwas definiert wurde sondern wann etwas ausgeführt wird. Zudem gibt es in JavaScript das sogenannte Hoisting. Javascript schiebt alle Deklarationen von Funktionen "nach oben" (das nennt man function hoisting). Funktionen dürfen also aufgerufen werden, bevor sie definiert werden. Hoffe dies hilft dir erstmal etwas weiter :)
1:31:00 ja hab ich gerne gesehen. Will aber darauf hinweisen, dass sowas mit framworks m.E. deutlich lesbarer ist. Beispiel angular : th-cam.com/video/ysrrrd-Of8U/w-d-xo.html Vue.js vielleicht heute beliebter. Aber ja ich denke es schadet nie zu wissen wie es in real JS aussieht. Ich lerne von deinen Tuts. Mein JS wissen ist lange her und teilweise veraltet
Die Frameworks nehmen einem einiges ab. Es ist immer eine Fall zu Fall Entscheidung je nach Projekt. Ich verwende sehr gerne Vue.js aber für kleine Sachen oder bei Projekten wo ich nicht sonderlich viel JavaScript brauche verzichte ich lieber und benutze das bisschen JS so. :)
Wie kann man ein langes Zahlen-Array [10,20, 5, 10, 2, 5, usw.] im Quelltext von JS in mehrere Zeilen schreiben (also Zeilenumbruch im Quelltext)? Der Formater in JS setzt mir alle Zahlen untereinander.
Einfach über mehrere Zeilen schreiben, dabei kannst du beliebig viele Werte je Zeile definieren (Beim letzten Wert kein Komma danach): let numbers = [ 10, 20, 5, 10, 2, 5 ];
Wenn ich das so mache und danach speichere, dann setzt der "Formater" wieder alles untereinander und macht dann ein Komma nach dem letzten Wert (5). Muss man da an der Formater-Einstellung was ändern? (Habe VS-Code nach deinen Vorschlägen eingerichtet)
Dieses Verhalten klingt schonmal merkwürdig. Es ist möglich das bei dir mehrere Code Formatter laufen. Es gibt auch mehrere Prettier extensions. Wenn du in deinem JavaScript File bist, Drück mal SHIFT+ALT+F Damit formatierst du den Code, falls mehrere Formatter für JavaScript aktiv sind kommt eine Meldung und du musst einen auswählen. Hoffe das hilft erstmal weiter ;-)
Hi, kommt ein Hinweis in der Browser Console? Der Fehler liegt meistens im Detail. Zwischen Groß und Kleinschreibung wird z.B. unterschieden bei Variablen- , Funktionennamen etc...
Die Themen auf diesem Kanal sind wohl nicht so Trendy. Oder ich muss mich noch weiter verbessern und ins Zeug legen. Naja mit Geduld und Spucke wird das schon ✌️🙂
Super Video! Aber irgendwie hat jeder hier auf TH-cam ein Beispiel mit einem Inputfeld, einen Button und eine liste in der etwas eingefügt wird. leider macht keiner mal was außergewöhnliches wie Dropdown listen oder sogar von einander abhängig sind... so etwas wäre doch mal interessant.
Vielen Dank für dein Feedback. Ich kann gut verstehen das dieses Beispiel, welches ich am Ende zeige, etwas ausgelutscht daherkommt. Aber es ist einfach. Also gut für Anfänger/Einsteiger geeignet um erste Schritte zu machen. Es ist viel wichtiger die DOM Manipulation an sich zu verstehen, dann kannst du auch außergewöhnliche Dropdowns erstellen. Aber du bringst mich gerade auf die Idee nochmal ein umfangreicheres Video zu DOM Manipulation zu machen. Fehlt noch irgendwie auf meinem Kanal :)
@@ProgrammierenMario Vielen dank für eine Antwort, macht nicht jeder TH-camr. Ich mag deinen Kanal wirklich sehr denn das ist der einzige Kanal, mit zwei anderen, wo ich meine Ganzen Informationen her hole. Du bist einer der wenigen bei dem man es merkt wie viel Mühe du dir gibst. Das wäre wirklich super! Danke dafür im Voraus. wirklich, ich mag deinen Content und du bist auch sehr sympathisch. Kopf hoch und mach weiter so, ich wünsche dir nur das Beste. MfG Ein großer Programmieren mit Mario Fan
Tja... fürs Web Frontend kommst du leider nicht ganz drumherum bzw. du kannst es nur aufs Minimum reduzieren. Ist vielleicht ein JS Framework etwas für dich? React oder Vue? Eventuell hilft es dir da hier alles nach einem bestimmten Pattern aufgebaut ist und es übersichtlicher ist.
@@ProgrammierenMario Naja, ich denke es wäre besser wenn ich es lernen würde, nur fällt es mir irgendwie schwer und ich vergesse es immer sehr schnell. Mit Vue hab ich etwas Erfahrung gesammelt.
Coole Tutorials. Habe das direkt mal versucht. Visual Studio Code und Live Server installiert. Allerdings unter Linux das Ganze. Aber da fehlt mir die Console links. Wäre cool, wenn mir da jemand helfen könnte :D :0 :D
Die console erreichst du entweder mit F12 (Browserfenster muss dabei aktiv sein) oder du klickst mit der rechten Maustaste in das Browserfenster und gehst auf "Untersuchen". Dann öffnen sich auch die dev tools. Dort dann den Tab console auswählen. Wenn du den Live Server verwendest dann musst du natürlich vorher die Seite unter localhost:5500 aufgerufen haben ;-)
also heißt es wenn ich jetzt einen discord bot programiere und eine funtion will es so geht if(message.content == '!send') { function message() { console.log('hallo') } message();
@@ProgrammierenMario Es gibt da so eine App die heißt Discord und man bin kann da mit seinen Freunden chatten usw, Aber es gibt so bots die auf ne nachrichten reagieren (!level) und genau das wollte ich machen
Discord ist mir bekannt ;-) Ich meinte ob du mir näher erklären möchtest was du genau machen willst. Aber um auf dein Beispiel einzugehen müsste die Funktion eher so aussehen wenn ich es richtig verstanden habe: function checkMessage() { if(message.content == '!send') { console.log('hallo'); } } checkMessage();
Danke Mario! Ich könnte dir stundenlang zuhören.
✌️🙂
Nicht beirren lassen, weiter so! Angenehm unaufgeregte Art, ich konnte gut folgen und verstehen. Gerne mehr und tiefergehend!
Vielen Dank für dein Feedback. Motivation++ 😄
Endlich weiß ich, wie das mit den Jacken und Taschentüchern geht 🥸
Nein, im Ernst, DANKE Mario 🙌
Klasse erklärt 🤩
Gern geschehen 😊
Mega gutes Tutorial ! Bitte noch mehr zu Events und DOM
Besten Dank ;-)
Du bist der erste, wo ich dass so richtig kapiere.😅 Vielen Dank für dein Engagement.🙏
Na dann hat es sich ja gelohnt. Vielen Dank für dein Feedback :)
Danke für dieses hilfreiche und vorallem auch lehrreiche Video und auch ein dickes Danke, dass du dir für deine Zuschauer und jegliche Anfänger so viel Zeit nimmt. Mein Respekt hast du und mein Abo jetzt auch.
Danke für das Lob! Freut mich sehr :)
Super toll erklärt! Habe es viel besser verstanden als in anderen Tutorials! Vielen Dank!!
Das freut mich sehr!
Finde es super, dass jetzt auch JavaScript zum Thema wird. Freue mich schon auf weitere Folgen.
Gibt es was spezielles was du gerne sehen möchtest? Vielleicht kann ich es in einem Video mit einbauen 🙂
@@ProgrammierenMario Danke der Nachfrage. Im Moment finde ich alles spannend was von Dir kommt. Würde mich nochmal melden wenn mir was spezielles einfällt.
Alles klar ✌️🙂
Endlich habe ich das alles verstanden und komme mit meinem Projekt weiter. Danke
Na dann hat es sich ja gelohnt :)
Danke, danke, danke. Du bist der Grund für mich jetzt dran zu bleiben. 💪
Freut mich zu hören! :)
Du verdienst mehr Anerkennung! Danke und wünsche viel Erfolg weiterhin!
Danke 🤝
Musste erstmal lachen bei "der deutsche kennt nur Banane und Apfel" 🤣Du hast jedenfalls eine entspannte und lustige Art die Dinge zu erläutern, da hört man dir gern zu. Mein Abo hast du jetzt auch ;- Bin selbst seit nun 20 Jahren in der Entwicklung, aber fast nur PHP (damals noch Object Pascal, Java ua.), JS kam selten vor, bzw. damals wurde es ja eher gemieden. Kann mich zu Zeiten von HTML4 noch erinnern, da hieß es JS in Websites am besten vermeiden (zu buggy, zu unsicher, viele Browser können es nicht sauber usw.)... verrückt wie sich die Zeiten ändern, heute nicht mehr wegzudenken.
einfach wieder eine 10/10 danke
Richtig gute Anleitung! Top! Bitte unbedingt mehr JavaScript! Abo ist gesetzt ;-)
Na dann herzlich willkommen. Freut mich das dir das Video weitergeholfen hat. Happy Coding ;-)
Dickes Kompliment an Dich!!! 👍Mit deiner präzisen Vielfalt von Beispielen samt deiner persönlich Smoothen sympathischen Art wie Weise dein Fachwissen mit verschiedensten Variablen die Vielfalt verständlich einfach der vielen Sprachen Programme & Codes auch dem Laien verständlich Sinnbildlich verpackst .. . ... Daumen hoch 👍👍👍
Ganz lieben Dank! 🙂
Ich gebe den Kommentar bereits ab bevor ich das ganze Video gesehen habe. Das mache ich nicht oft. Nachdem ich CSS und HTML einigermaßen "drauf" habe, suchte ich nun einen leichten gut vermittelten Einstieg in Javascript. Nachdem ich mir erst 3 andere Tutorials, von bekannten TH-camr Programmierern anschaute wo ich bei einem bereits ein richtiges Spiel als Anfänger schaffen sollte, und ich nur kopieren einfügen konnte ohne die Dinge wirklich komplett zu verstehen bin ich wieder bei dir gelandet. Nach einem Spaziergang in der Natur kam mir einfach wieder die Idee ob du nicht ein TutorialVideo zu Javascript gemacht hast, deine Erklärmethode ist wirklich herrausstechend angenehm im Vergleich zu vielen anderen. Manche sprechen auch zu schnell und dies ist abgehoben. Man kann ja bei HTML und CSS mit Projekten direkt starten aber bei Javascript glaube ich ist es besser vorher die wichtigsten Elemente zu verstehen. Danke vielmals für dein Tutorial!
Übrigens heute isst mein Pizza Tag :))
Vielen herzlichen Dank für deine Nachricht. Immer wenn ich in meine älteren Videos reinschaue, sehe ich wie unsicher ich noch vor der Kamera war und wie oft ich mich versprochen habe. Da freue ich mich um so mehr, wenn solch positiven Kommentare kommen.
Mein Ziel ist alles so einfach wie möglich zu erklären und die Komplexität zu minimieren. Soll ja jeder der Willens ist nicht gleich am Anfang die Motivation verlieren. Da darf es ruhig etwas lockerer sein. ;)
Leider muss ich bei manchen Themen Wissen voraussetzen. Versuche aber dennoch mein obiges Ziel umzusetzen.
Wünsche dir viel Erfolg.... mein Pizza Tag war am Samstag ;)
@@ProgrammierenMario Sehr gerne :-). Ja man soll ja den Spass nicht verlieren, gerade am Anfang. Wenn ich gleich dein Video angeschaut hätte, hätte ich mir den Frust sparen können. Freut mich das die Kommunikation hier auch auf Augenhöhe stattfinden kann :). Vielen Dank auch für deine Erfolgswünsche, kann ich gut gebrauchen :-). Ich arbeite mich ersteinmal denke ich von Tutorial zu Tutorial, bis ich mit dem vorhandenen Wissen selbstständig kleinere Projekte realiesieren kann, bzw in meinen vorhandenen Websiten die fehlenden Javascripte einbaue wie ich sie haben möchte um das ganze auch dann wieder praktisch anwenden zu können.
Hallo Mario, ich wollte mal ganz ein ganz fettes Dankeschön hinterlassen für deine tollen Videos. Seit einem Monat bin ich als Webentwickler tätig und deine Videos helfen mir sehr beim Verständnis!
Freut mich ✌️🙂 Wünsche dir viel Spaß und gutes Gelingen bei deinen Projekten 👍
Wundervolle Einführung in das komplexe Thema JS und eine gute Motivation für mich, den JS-Teil von SelfHtml durchzuarbeiten. Ich danke dir!
wow Hammer! Erzählst du alles super Toll! große Respekt! :) Vielen Vielen vielen Dank! , Tolle stimmte, nicht zu schnell und nicht zu langsam, in Punkt. Für Anfänger sehr hilfreich es zu verstehen ! :)))
Danke für das Lob!
Junge ... Du bist absolut Genial! Danke für Deine Arbeit und Mühe... Ich bleibe dabei!!!
Darauf ein High Five ✋🏻 🙂
Tip Top! Vielen Dank für deine Erklärungen. Die haben mir den Einstieg in die JS Welt deutlich erleichtert und näher gebracht :) Freue mich schon auf deine anderen Videos!
Das freut mich!
Heilige Scheise ist das gut geworden!! Vor allem bitte was mit JavaScript kann man so vieles mehr machen als halt nur die Logik einer Website?? Krass also ist das auch außerhalb von meinem Front-end Ziel sehr nützlich. Ey, wenn du nur wüsstest wie wertvoll du für solche Leute wie mich bist!!!
Ist mit den Jahren ganz schön gewachsen. Gerade was Desktop-Anwendungen betrifft. z.B. Visual Studio Code, WhatsApp oder Twitch wurden mit JavaScript und dem Electron Framework entwickelt ;)
@@ProgrammierenMario Das Electron Framework kenne ich aber bringt das nicht irgendwo auch Probleme mit sich wenn man „nur“ die Sprache also den Syntax übersetzt damit man die apps Lauffähig kriegt? Alleine ein mini Handy game auf die switch zu kriegen z.B. erfordert ja etliche Korrekturen
Es wird der Chromium Browser und Node.js mit in die Anwendung eingebettet. Also läuft JavaScript ganz normal in einer Browser-Instanz. Die Anwendung besteht dann im Grunde nur aus HTML Seiten, CSS und JavaScript. Wie bei einer Website ;)
@@ProgrammierenMario Völlig verrückt das Javascript so wandelbar ist 🤣😂
Das Video find ich sehr super gemacht :) sehr verständlich erklärt :) ich finde dich echt Leinwand
Nun da bleibt mir nix anderes übrig als Danke zu sagen ✌️🙂
Mario Du hast eine gute Art zu erklären. Bitte mehr davon !!!!!!!!!!!!!
Ich danke dir ✌️
Mega gut erklärt und mit einer total gelassenen Ruhe weiter so
Super wenn alles passt. Danke dir ✌️🙂
Sehr gutes Video...
Mach weiter so
Vielen Dank...Grüße ;-)
Very good Lesson, Well explained Mario,,👍👍👍. Many THANKS. WE NEED MORE!!!
It’s my pleasure, thank you ✌️🙂
Echt astrein erklärt, Mario!
Vielen Dank! 🙂
Ich möchte mich auch bei dir für dieses tolle Video bedanken, es hat mir sehr geholfen!
Herzlichen Dank, freut mich sehr das ich helfen konnte. Wünsche dir viel Erfolg bei deinen Projekten :)
Super erklärt. 👌
Danke dir 😊
Super erklärt, vielen Dank!
Sehr gerne!
Super Mario; Tolles Video, super erklärt.
Ich selbst programmiere viel in Java(-srcipt) hab alles im Selbststudium erlernt.
Hätte ich dein Video am Anfang gehabt, wäre vieles einfacher gewesen.
Daumen hoch ...
Freut mich sehr das alles gepasst hat. Wann hast du mit dem programmieren angefangen?
@@ProgrammierenMario vor ca. 3 Jahren. Dank der Pandemie konnte ich mein Wissen noch weiter ausbauen. Ich programmiere allerdings nicht in WWW-Seiten, eher Node.js bzw Backend. Meine Anfänge waren allerdings tatsächlich auch via Konsole im Firefox und html Manipulation
nice,...mehr davon bitte
Zu JavaScript ist immer mal wieder etwas geplant :)
Erste Sahne :D Abo dagelassen.Vielen Dank.
Na dann herzlich willkommen ✌️🙂
Jup, auch von mir hast Du ein Abo. Bitte mehr über JavaScript. Am besten evtl. noch paar Tutorial's in Verbindung mit Tempermonkey?
Mfg
Ui, das kannte ich bisher auch noch nicht 😅. Nun hallo erstmal und herzlich Willkommen ✌️🙂
Wirklich Hammer Video!!! einfach Sympatischer Kerl
Vielen lieben Dank ✌️🙂
Prima Tutorials und sympathischer Tutor:-)
Vielen Dank ;-)
sehr gut erklärt :-)
Danke
Gerne doch 🙂
stark, dankeschön!
Sehr gerne!
Gute Anleitung, danke.
Lieber Gruß von Mesut !
Vielen Dank ✌️🙂
Sehr toll, Mario.
Vielen Dank ✌️🙂
Mit Abstand qualitativ der beste der Javascript erklärt hat. (hane viele deutsche gesehen) kleiner tipp schreibe dir doch paar stichworte auf ein zettel oder so ich habe das gefühl das würde dir gut tun;) abo auf jeden!
Danke für den Tipp, Notizen mach ich mir auch zu fast jedem Tutorial. Aber ich bin auch ein Freund davon in einem Rutsch aufzunehmen damit ich das Video nicht so viel schneiden muss. Ständig auf Notizen zu schauen unterbricht mich auch dann zu sehr. Gerade bei den langen Tutorials hab ich oft nur einen einfachen Fahrplan und lass es gerne einfach laufen und improvisiere zwischendurch :)
Hallo Mario
Habe mir eben dein Video angeschaut.
Gut sachlich erklärt mach weiter so Gruß Dani
Vielen Dank
Vielen Dank für Dein JS-Video. Wieder wunderbar erklärt. Könntest Du bei Gelegenheit noch ein Tutorial für TypeScript nachlegen? 🤔😊🦴🐶😂
Ist notiert! 🙂
Super Video! Ich hab hier ihr da Mal ein Tut über Javascript geschaut und die haben immer zu hoch angesetzt für Nulleinsteiger. Hier wird wirklich Mal leicht verständlich der Aufbau und die Zusammensetzung der Syntax erklärt. Davon könnte ich mehr gebrauchen. 😁👍👍
Super dann passt das ja. Vielen lieben Dank für deinen Kommentar ✌️🙂
Richtig super!!!!
Wollte jetzzt auch anfangen und deine Videoreihe ist noch frisch besser kanns ja nicht laufen! :)
Danke jetzt schonmal für den guten Content bisher! ;)
Bin bereit! :- )
Haha 😂 Das freut mich natürlich sehr. 🙂 Bei HTML, CSS und JavaScript ändert sich über die Jahre aber nicht sonderlich viel. In diesen Bereichen kannst du dir auch ältere Tutorials anschauen. 😉 Herzlich Willkommen und Happy Coding ✌️
ein wirklich sehr gutes Tutorial ;=)
Vielen Dank ✌️🙂
48:10 so var ist global und let ist local (also für den jeweiligen Gültigkeitsbereich, gleich das heisst Space oder so)?
var is function scoped and let is block scoped.
Variablen die mit var deklariert werden, sind auf den unmittelbaren Funktionskörper beschränkt (function scoped), während let Variablen auf den unmittelbaren umschließenden Block beschränkt sind, also { } (Block scoped).
Somit ein dickes Bingo! ;)
Du erklärst das sehr gut! Mach lieber einen kompletten Kurs, ich wäre auch bereit zu zahlen hahaha
Danke für das Lob! ;)
Ich finde deine Erklärungsweise echt super, hab schon einige Tutorials gesehen. Entweder sprechen die TH-camr zu schnell oder zu leise oder sonstwas. Bei dir, auch wenn dein Akzent manchmal sehr witzig ist, kann man deinen Ausführungen sehr gut folgen. Mich würde sehr über ein Tutorial von Python freuen. Falls dir die Sprache intressieren sollte ;D
Hast du ein Patreon Konto ? Würde echt gerne dir was speden wollen ;D
Hallo Bogus, vielen herzlichen Dank für dein Feedback. Python ist bei mir erstmal nicht geplant, aber du könntest mal bei Chris vorbeischauen --> th-cam.com/users/Programmieren
BTW, leider habe ich kein Patreon Account tut mir leid :)
@@ProgrammierenMario Danke, hab mir mal einige Videos angesehen und sind ja echt gut und hab auch gleich mal ein Abo da gelassen ;D
Sehr starke Arbeit.
Weiter so! 👍
Alles klar, vielen Dank ✌️🙂
Orch wer blede, der hat auch sächsischen Dialekt ;-)
Like und Abo haste da .....
Grüße aus der Oberlausitz in Sachsen.
Freu mich wie Bolle... Grüße 😄
@@ProgrammierenMario na ich ooch, aber auch das Thema ist gut.
sehr gutes Video
Vielen Dank 😊
super sympathisch
✌️😊
Super Video! Ich würde mich echt freuen, wenn Du ein Video machst, vlt. eine kleine Anwendung wo etwas HTML CSS und JS schreibst.
Ist notiert! ✌️
@@ProgrammierenMario Cool Mario, freue mich jetzt schon!😃
@@ProgrammierenMario Ich lerne Fullstack bei so einem Bootcamp deshalp die Frage. Wenn Du kleine Awendung machst kann ich nachvollziehen wie die Logik dahinter ist und würde mir helfen. Danke nochmal!
Superbe! Vielen Dank!
Gern geschehen 👍
super gut, merci!!
✌️🙂
Klasse
Gern geschehen ✌️
ich werde mir in den ferien alle dwine videos angucken weil das alles noch aktuell ist und lange schon programmieren möchte
Das freut mich natürlich. Hoffe die Videos helfen dir weiter. Kannst mir auch gerne Feedback geben falls was unklar sein sollte ✌️🙂
@@ProgrammierenMario ok kein problem habe dich ja eben erst entdeckt
Echt super video. Super erklärt. Wäre nicht wenn du ein praxisnahe Projekt mache würdest als Video Reihe von man JS und ggf html css einbindet. Ein textadventure oder was du magst.
Praxisnahe Videos möchte ich natürlich auch machen, nur benötigen diese eine längere Vorbereitungszeit. Vielen Dank für dein Feedback, Grüße ;-)
Hallo Mario. Ich habe da eine Frage zum Einbinden der Javascript Datei bzw mit dem Finden von Elementen. Z.B. habe ich auf Seite A ein H1 Element dem ich per Javascript einen Wert übergebe. Wenn ich mich auf Seite B befinde wo dieses Element nicht existiert bekomme ich dann auf der Konsole diese Fehlermeldung Cannot set properties of null. Die Fehlermeldung hat zwar keine Auswirkungen aber nervt trotzdem. Kann man die irgnedwie unterbinden?
In diesem Fall solltest du prüfen ob das jeweilige Element existiert, und nur wenn ja etwas damit machen:
let element = document.querySelector('.my-class');
if (element !== null) {
// Mache irgendwas damit ;)
}
@@ProgrammierenMario Danke 🙂
Hallo Mario! Super Video über JavaScript! In diesem Zusammenhang hätte ich eine Frage betreffend Python. Man hört oder liest, dass Python quasi JavaScript 'ablösen' sollte/wird und es wird auch als eine Art 'Allzweck-Programmiersprache' gehandelt und man sollte sie unbedingt erlernen. Es heisst auch, dass man mit Python ganze Webseiten erstellen kann etc.. Aber irgendwie habe ich diesbezüglich keinen echten Durchblick wozu Python eigentlich 'gut' sein sollte?! Wäre schön, wenn Du diesbezüglich mal ein 'Aufklärungsvideo' dazu machen könntest. Danke und Gruss, Peter😉
Mit Python kannst du recht viel machen das stimmt. Und es gibt viele Bereiche wo du entweder Python oder JavaScript verwenden kannst. Was du persönlich verwenden möchtest ist deine Vorliebe. Die universellen Sprachen nähern sich auch immer mehr an. Da spielt das keine wirkliche Rolle mehr. Aber Python wird JavaScript in einem Bereich niemals verdrängen. Dem Frontend. Die Browser können nur JavaScript interpretieren. Du könntest z.B. Backendseitig PHP mit Python ersetzen oder NodeJS mit Python. Aber für das Frontend ist dies nicht möglich. 🤷♂️
@@ProgrammierenMario Hallo Mario! Vielen lieben Dank für die Beantwortung meiner Frage. Jetzt sieht die Sache schon etwas klarer aus! Gruss, Peter🙂
Super Video! Darf ich fragen welches Theme bzw. Welche Icons du in VSCode benutzt?
Die Mirage Variante von diesem Theme: marketplace.visualstudio.com/items?itemName=teabyii.ayu
Hallo Mario,
hast du die source code von dem Kurs auch irgendwo. Ich wollte es selbst nachvollziehen.
Die console.log Angaben bei script tag (ab 10:00) funktioniert bei mir nicht. Was mache ich falsch?
Da musst du mir schon mehr Infos geben. So kann ich dir nicht sagen was du evtl. falsch machst.
@Programmieren mit Mario Hallo Mario, du hattest nicht darauf hingewiesen, daß du die index.html mittels LiveServer bereits aufgerufen hattest, so dass das console.log() sofort ausgeführt wird.
Auch finde, dass das ein richtig tolles Tutorial ist. Alles ist super nachvollziehbar! :) Allerdings gibt es Probleme beim Öffnen der Konsole, wenn man sie in VS Code versucht zu öffnen. Du hattest sie bereits geöffnet. Bei mir erscheinen Fehlermeldungen wie:
Der Befehl "node" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
oder auch
fehler beim laden der webansicht
Rufe ich die Konsole falsch auf oder was könnte der Fehler sein?
Herzliche Grüße und dankeschön! Robert
Hallo Robert, als erstes musst du im Browser die index.html öffnen bzw. die Datei in welche deine JavaScript Datei eingebunden ist. Dann kannst du im Browser die Konsole öffnen indem du einfach F12 drückst. Dann öffnet sich ein kleiner Bereich an der Seite oder unten. Normalerweise musst du nach jeder Änderung in der JavaScript die Seite im Browser aktualisieren wenn du die Änderungen sehen möchtest. Es gibt aber auch die Möglichkeit den Live Server zu verwenden, welche eine Extension für VS Code ist. Wie du diese einrichtest und benutzt erkläre ich in diesem Video: th-cam.com/video/ZfR1DqzdHeU/w-d-xo.html
Hoffe das hilft dir erstmal ein wenig weiter... Grüße ;-)
@@ProgrammierenMario Moin Mario! Das ist genau die Antwort, die ich gesucht habe. Hilft mir sehr viel weiter! Herzlichen Dank!
Super hilfreich für die ersten Schritte! Danke. Ich benötige JS für ein Serverprojekt (eventuell auch mit Node JS). Ohne HTML/CSS. Was sind dafür geeignete Bücher oder Ressourcen, um sich das selbst beizubringen?
Fast alles, was ich sehe, verlangt nach HTML incl. CSS als Voraussetzung.
Vielen Dank! Für Node JS habe ich ein Tutorial für Einsteiger gemacht. Vllt. magst du ja mal reinschauen --> th-cam.com/video/SSCeKhoY8Kk/w-d-xo.html
@@ProgrammierenMario Danke, Mario. Das habe ich mir schon angeschaut. Es geht also vielmehr um JS Server und Client seitig. Es gibt wirklich viele tolle Tutorials, auch von Dir. Aber meist geht es dann doch um Webentwicklung. Das genau benötige ich nicht.
Ja Webentwicklung ist hier das Kernthema auf diesem Kanal. Trotzdem vielen lieben Dank fürs reinschauen :)
36:25 also ich hoffe mal Vererbung (Klassen Zeug) geht auch in JS
Schau mal hier rein da geht es um die Nutzung von JavaScript Klassen --> th-cam.com/video/7aX6dYETgQM/w-d-xo.html
Danke
✌️🙂
Es ist zwar toll dass man das erste und das letzte Element aus einem Array oder obj wegnehmen oder ändern kann, aber was, wenn ich was aus der Liste löschen muss, das irgendwo in der MItte ist oder wo ich die Position überhaupt nicht kenne? Z.B. aus der Obstliste den Apfel und ich weiß nicht, an welcher Stelle der Apfel ist. Mein bisheriger Lösungsansatz um so ein Element z.B. aus der Mitte zu löschen (auch in PHP) war, dass ich das bisherige Array OHNE das zu löschende Element in ein neues Array kopiere und dann das alte wieder mit dem neuen überschreibe. Aber auch hier muss ich das Element bzw. dessen ID genau kennen, damit ich darauf zugreifen kann. Aber es muss doch eine bessere Lösung geben, oder?
Ganz genau. Dafür gibt es die Array.splice() Funktion, schau mal hier --> developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/splice
Damit kannst du Elemente im gesamten Array hinzufügen, ersetzten und löschen.
Das machst du über den Index, welchen du z.B. über Array.findIndex() ermitteln kannst --> developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Array/findIndex
Hoffe das hilft dir erstmal weiter ;)
super eine frage als was arbeitest du?
Als Softwareentwickler
Hallo Mario, welche Software verwendest du, um dein Bildschirm aufzunehmen und deine Videos zusammenzuschneiden?
Hallo, zum Aufzeichnen nutze ich aktuell Filmora Scrn. Für den Schnitt verwende ich aber Davinci Resolve.
Programmieren mit Mario Danke sehr für die schnelle Antwort.
Hallo Mario, dein Tutorial gefällt mir sehr, aber ich bekomme immer eine Fehlermeldung, die da lautet: newContend is not defined.
Wo liegt der Fehler? Kannst du vielleicht etwas dazu sagen?
Liebe Grüsse
Hallo Michael, nun es wird newContend verwendet aber es wurde zuvor nicht definiert. Hast du es vllt. bei der Definition anders geschrieben? Ansonsten kann ich ohne deinen Quellcode zu sehen nur vermuten woran es liegen könnte 😉
Hallo Mario, danke für die schnelle Antwort. Der Quelltext ist genauso, wie in deinem Video. Ich habe ihn einfach mal 1 : 1 kopiert. Ich hoffe, ich habe
doch nichts übersehen? Vielen Dank nochmal für die schnelle Antwort.
Absenden
let clickButton=document.querySelector('#click-button');
clickButton.addEventListener('click',eingabe);
function eingabe() {
let input=document.querySelector('#input');
let output=document.querySelector('#output');
let newDiv=document.createElement('div');
let newContent=document.createTextNode(input.value);
newDiv.appendChild(newContend);
output.appendChild(newDiv);
input.value="";
}
Liebe Grüsse Micha
Hallo Micha,
ja wie vermutet hast du es versehentlich falsch geschrieben:
let newContent=document.createTextNode(input.value);
newDiv.appendChild(newContend);
In der ersten Zeile steht bei dir "let newContent" mit t am Ende
und bei appendChild darunter hast du "newContend" mit d am Ende geschrieben.
Grüße...
Aaah, ich war schon am verzweifeln. Jetzt klappt es. Vielen Dank nochmals für schnelle kompetente Antwort.
Gruss Micha
ist ja gut und schön Prob ist : wie kommen die Daten (Ausgabe) in den Browser rüber von VSC bei mir bleibt das Fenster Leer. Danke für eine rasche Antwort
Um generell eine Website/Daten im Browser auszugeben benötigst du HTML. Da empfehle ich dir mein HTML Grundlagen Tutorial --> th-cam.com/video/3Djmh7V70NE/w-d-xo.html
Wenn du aber mit JavaScript HTML dynamisch generieren und ausgeben möchtest, kann ich dir dieses Video empfehlen --> th-cam.com/video/tdglfPMwGFU/w-d-xo.html
Wenn du noch Hilfe bei VS Code benötigst dann empfehle ich dir die ersten 2 Videos aus dieser Playlist --> th-cam.com/play/PLnqycjkeRGqmlJvXkxqSvIynlxaiKecPN.html
Hoffe das hilft dir erstmal weiter :)
Hey Mario, vielen Dank für deine Videos, sie haben mir bei HTML und CSS sehr geholfen. Ich habe habe bei diesem Video „ JavaScript „ ein Probelm. Ich kann nicht VS Code Studio mit Console von Chrome Verbinden. Die Console in Vs Code wird gezeigt, aber wie du es in deinem Video machst, kann ich nicht. Wie kann ich mich mit Console von Chrome Verbinden, dass ich sehe kann, was ich da gerade geschrieben habe. Ich kann sogar eine Seite in Chrome offenen, aber die Console irgendwie nicht. Danke dir für deine Hilfe.
Also im Video habe ich einfach die Browser Console oder den Browser an sich neben VS Code gelegt. Also einfach die zwei Fenster nebeneinander. Zur Browser Console kommst du wenn du im Browser F12 drückst. Dann öffnet sich die Console. Über die 3 Punkte kannst du einstellen das dieser Bereich ein eigenständiges Fenster sein soll.
Damit aber automatisch hier eine Ausgabe kommt direkt nach dem speichern in VS Code, ohne extra die Seite im Browser neu zu laden, dafür ist eine Erweiterung für VS Code notwendig. Diese heißt "Live Server". Einfach im Bereich Erweiterungen danach suchen und installieren.
Nun kannst du deine index.html Datei, per rechten Mausklick in VS Code und dann mit Live Server Starten, im Browser anschauen und die Hot Reloading Funktionalität ist mit aktiviert. Das läuft dann alles unter einem temporären Web Server unter der Adresse localhost:5500
Wenn du hier wieder die Browser Console öffnest sollte dann alles klappen.
Hoffe das hilft dir erstmal weiter ;)
Danke dir👍
Sehr schönes Video ich habe nur eine Frage die währe wie du die Console geöffnet hast, ich habe mir das Programm runtergeladen. Ich habe aber nichts gefunden wie ich die Konsole links an der Seite öffne. ich hoffe du findest Zeit mir mal zu helfen. ;)
Ich zeige es im Video ab Minute 4:00
Hoffe das hilft dir weiter. Drücke einfach mal F12 im Browserfenster 😉
@@ProgrammierenMario Oh danke dankeschön :)
@@ProgrammierenMario Tut mir ja leid das ich so viel frage aber ich habe vor deinem Video noch nie etwas damit zu tun gehabt. Ich habe die Konsole geöffnet aber ich weiß halt nicht wie man das so zu sagen verbindet(ich dachte eigentlich das passiert mit dem console.log ). Ich hoffe du kannst mir das irgentwie schriftlich erklären. Ich bin sehr
interessiert an dem Tema. Übrigens machst du das sehr gut. :) LG
Mit console.log kannst du nur etwas auf der Konsole ausgeben. Für VS Code musst du dir die Live Server Extension installieren. Das kannst du direkt im VS Code machen. Danach startest du den Live Server in VS Code für deine index.html Datei in der du dein JavaScript verwendest mit Rechtklick auf die html Datei und der Auswahl "Start Live Server ...". Danach öffnest du im Browser die Seite localhost:5500 falls das nicht schon automatisch passiert ist. Dort öffnest du dann die Browserconsole mit F12. Jetzt aktualisiert sich die Seite (Und auch die Browserconsole) automatisch nach jeder Änderung an der Datei(en). Du kannst dir auch gerne mein Extension Video für VS Code anschauen, da zeige ich das mit dem Live Server: th-cam.com/video/ZfR1DqzdHeU/w-d-xo.html
Hallo Mario. Du sagst .querySelector('#id')... Wasist der Unterschied zur .getElementById('id')??
Und warum sagst du nicht zum Bespiel ('id').innerHtml = `und gibst etwas ein`;?
Danke dir schon mal im voraus super content :D
Hallo Chiro, es gibt viele Möglichkeiten wie man das ganze machen kann. Dabei gibt es nicht unbedingt ein richtig oder falsch. Mit querySelector z.B. hast du mehr Möglichkeiten wie du etwas selektieren kannst. Bedeutet aber nicht das die andere Methode schlecht ist. Ziel ist immer das es am Ende funktioniert ;)
Was soll man tun damit die Ausgabe sich automatisch wie bei dir in Browser aktualisiert? Es steht bei dir localhost 5500, ich habe die Datei einfach rübergezogen, vielleicht deswegen:(
Hallo, ich verwende für VS Code eine Erweiterung. Live Server.
Damit hast du dann dieses Feature.
@@ProgrammierenMario Mal noch blödere Frage: was soll man machen damit man überhaupt die Ausgabe bekommt? Ich merke erst jetzt, dass ich keine richtige Ausgabe habe, sondern es wird einfach der Code aus VS doubliert.
Schau mal hier rein -> th-cam.com/video/R_kYdYIP-QM/w-d-xo.html
Ist zwar nicht direkt der Live Server, aber funktioniert vom Prinzip her gleich. Falls dir die erweiterten Features zusagen kannst du auch gleich diese verwenden 🙂
Hallo Mario!
Ich bin doch tatsächlich ein Fan von dir geworden. Der Hammer - aber egal....ich habe da nochmal eine Frage: ich habe für das arbeiten mit VSC "Five-Live" heruntergeladen. MUSS ich es irgendwo einbinden, denn die Automatisierung funktioniert nicht! Kannst du mir das bitte nochmal Schritt für Schritt erklären? Ich wäre dir auf Ewig echt dankbar Gruß, Michael
Hallo Michael,
dazu hatte ich mal ein Tutorial gemacht --> th-cam.com/video/R_kYdYIP-QM/w-d-xo.html
Wenn du aber kein PHP verwendest und erstmal mit JavaScript verwendest empfehle ich dir lieber diese Erweiterung zu verwenden --> marketplace.visualstudio.com/items?itemName=ritwickdey.LiveServer
Erfahrungsgemäß gibt es damit weniger Probleme.
Wie verfährt man, wenn man die Values aus mehreren(!) Inputfeldern mit einem(!) Button-Click ausgeben möchte?
Bsp . Input(Vorname) Input (Nachname) "ButtonClick" --> Output: Vorname Nachname
Hab schon Einiges versucht, wie etwa #input-2 sowie #output-2 einfach nach einem Komma in die gleiche Klammer wie #input bzw. #output zu setzen.
jQuery möchte ich hierfür nicht verwenden.
Wenn du die Werte aller Input Felder ausgelesen hast kannst du diese aneinanderketten und zusammen ausgeben. Zeichenketten kannst du ganz einfach mit + zusammenfügen.
@@ProgrammierenMario Danke dir!
Was folgt nachdem man das sich angeschaut hat? Also die Anwendung? Ich weiß ja bis jetzt nicht wie ich JavaScript anwenden soll/kann.
In diesem Video geht es erstmal um die absoluten Grundlagen. Wie du JavaScript einbindest/benutzt, Wie du Variablen definierst, was Funktionen sind, Objekte, Arrays usw. und wie du anhand eines Beispiels einen Wert von einem Input Feld auslesen und auf der Website ausgeben kannst. Dies wirst du für so gut wie alles brauchen wenn du JavaScript verwenden möchtest.
Und dann? Wie gehts weiter? Als erstes solltest du dir Gedanken darüber machen was du für ein Projekt umsetzen möchtest. Daran orientiert sich am Ende alles.
Also was möchtest du programmieren?
@@ProgrammierenMario Also mein Ziel ist es mich im Bereich Frontend weiterzuentwickeln. Später auch node.js & react.js zu lernen. Interactive Internetseiten bauen etc. Gibts da eine Roadmap für?
Das Video hier sollte dir einen guten Überblick geben. th-cam.com/video/InYS6PJwp2E/w-d-xo.html
@@ProgrammierenMario Danke du bist ein cooler Typ. Ich mag wie einfach du Dinge erklärst. Ein Abo hast du sicher!
Freut mich das ich dir weiterhelfen konnte ✌️🙂
Hi, ich möchte aus einer Table daten auslesen und beschreiben.
so funktioniert es:
let rows = document.getElementById("CtDataTable").rows;
let myrows = Array.from(rows);
for(i=1;i
Erscheint bei dir ein Fehler auf der Browser Console?
@@ProgrammierenMario Bei diesem Code:
let rows = PageElement.CtDataTable.rows;
let myrows = Array.from(rows);
myrows.forEach(function(row)
{
let cells = row.getElementsByTagName("td");
console.log(cells[0]);
let myindex = Keys.indexOf(cells[0].innerHTML);
if(myindex != -1)
{
cells[1].innerHTML = Values[myindex];
}
else
{
cells[1].innerHTML ="";
}
});
erscheint das in der console:
script.js:50 Uncaught TypeError: Cannot read property 'innerHTML' of undefined
das ist die Zeile mit der cells[0].innerHTML abgerufen wird.
ich hab in nem anderen video von dir gesehen das manchmal EXPORT for deinen funktionen steht. hmmm. war das typeScript?
Typescript habe ich bisher noch nicht in meinen Tutorials verwendet. Das Export/Import kann für das erstellen und verwenden von Modulen verwendet werden.
@@ProgrammierenMario ja unter Export/Import fündig gewoden. funcs die in anderen Scripts verwendest werden sollen können brauchen ein Export.
errinnert mich an das uralte schon ziemlich ausgestorbene Abab (SAP)
Hallo Maria,
vielleicht eine etwas unpassende Frage unter diesem Tutorial, sorry!
Ich schwanke momentan noch etwas zwischen JS und PHP?
Ich kenne die ewigen Kritiken von PHP, aber was denkst Du?
Hallo Ralph, da ich um diese Uhrzeit die Maria nicht mehr erreiche muss ich dir das ein andermal beantworten. 😂
Bis dahin Gegenfrage: Was möchtest du denn umsetzen? Also welches Ziel hast du?
@@ProgrammierenMario Sorry, ich bin nach einem harten Tag wohl etwas müde, daher mein Verschreibser und habe mich wohl bei PHP etwas mit der Datenbankanbindung (MySQL oder MariaDB) beschäftigt. Und Maria und Mario sind fast identisch :-)
Ich danke Dir für Deine schnelle Rückmeldung, was aber nicht geeilt hätte.
Es geht um Webseiten-Programmierung. Ok, PHP-> Backend und JS -> Frontend.
Vermutlich ist dabei aber JS wohl universeller.
Achja, und ich möchte Dateien lesen können. Geht wohl aber auch mit AJAX unter JS.
Alles kein Problem, hab’s mit Humor genommen. Nun du hast Recht. JavaScript ist universeller und du brauchst es so oder so. Ich habe damals mit PHP angefangen und verwende ich auch heute noch sehr gerne. Aber das hat in deinem Fall vermutlich auch Zeit für später. Ich würde mich am Anfang eher erstmal auf eines konzentrieren und dort mein Wissen vertiefen. Dann fällt es dir später leichter andere Sprachen zu lernen. Es gibt sehr viele Parallelen.
@@ProgrammierenMario Lieber Mario, vielen Dank für Deine wiederum sehr schnelle und fundierte Antwort. Ich danke Dir für Deine Zeit und für Deine Mühen! Beste Grüße, Ralph
Hi. Ich mal wieder
Bin ja recht neu in Sachen js unterwegs.
Mich hatte es bspw. Gewundert, dass man von einem Skript auf eine in einem anderen Skript mit let global deklarierte Variable zugreifen kann.
…. Dann wurde mir gesagt, dass man das nicht machen soll… schon klar, aber wie verpacke ich sie denn dann?
Muss man eine {} um das Skript machen,
Oder legt man seine Logik in Klassen an und deklariert im Haupt Skript dann nur die entsprechende Klasse, oder wie gehst Du da vor?
Hallo, auch ich mal wieder ;)
Mein Rat an dich ist wenn etwas funktioniert dann ist es richtig. Es gibt wahnsinnig viele Wege wie man etwas umsetzen kann, wie man etwas programmieren kann. Es gibt kein richtig oder falsch wenn es funktioniert. Es gibt nur Vor- und Nachteile. Und das hängt immer von den Gegebenheiten bzw. den Umständen ab. Willst du beruflich programmieren oder machst du es nur für dich selbst für private Projekte? Falls letzteres zutrifft dann mach es ruhig so wie es für dich Sinn macht. Wenn es sich für dich gut organisieren lässt und du den Überblick behältst dann ist das vollkommen ok.
Natürlich kannst du auch alles in Klassen organisieren, aber das könnte für den Anfang auch viel zu viel sein. Und macht erst ab einer bestimmten Projektgröße auch wirklich Sinn.
Wie immer nur meine Meinung ;)
Wie ich da Vorgehe? Das hängt stark von der Projektgröße ab. Bei kleinen Sachen halte ich es ganz unkompliziert, mit wenig mitteln schnell und einfach zum Ziel. Bei großen Projekte mit hunderten Dateien werden Frameworks und verschiedene Pattern verwendet um alles wartbar und skalierbar zu halten.
@@ProgrammierenMario ja das hört sich soweit ok an.
Also. Beispiel:
Habe eine Script.js und darin variablen mit let deklariert. (Also vor dem eingekochten Code, da ich sie in dem Skript überall verwenden wollte).
Da meinte jemand zu mir, dass das schlecht wäre, weil diese dann auch von anderen Skript Dateien angesprochen werden können.
Wie siehst Du das?
Ps. Genau das habe ich mir zu nutze gemacht und eine data.js. Angelegt, in welcher ich die Daten aus dem eingentlichen Skript ausgelagert habe.
(Datei wird von außen erzeugt).
Mir wäre natürlich eine JSON lieber, welche ich von außen ind Skript bekomme, aber wenn ich die html lokal ohne Webserver nutzen möchte, dann geht ja fetch nicht.
Hast Du hier noch ne andere Idee?
Ich habe jetzt auch bei einem wahrscheinlich für Dich Mini Projekt Tailwind genutzt. (Gerade mit den Klassen und Grid finde ich toll.
Würdest Du das für einen Anfänger ok finden?
Ach ja, wenn Du größere Projekte hast und Daten zwischen Skripten austauschen musst, die nichts voneinander wissen. Wie geht das in js?
Bspw. In C# kann man ja ein Event „schmeißen“, welches dann außerhalb der deklarierten Klasse im Main abgefangen werden kann und an die entsprechend andere klasse übergeben werden kann.
In js so ähnlich?
Sorry wenn es so grundlegende Fragen sind, aber möchte gerne auf dem richtigen Weg in js starten.
Zum ersten hast du es ja in der Hand ob andere Skripte auf die selben Variablen/Daten zugreifen dürfen/können. Das kann von Vorteil sein oder ein Nachteil. Es ist in größeren Projekten sogar gängige Praxis dies so zu machen. Man hat einen zentralen Store wo man sämtliche Daten vorhält und wo verschiedene Komponenten darauf zugreifen/Daten ändern die wiederum auch Auswirkung auf andere Komponenten haben.
Wichtig ist hierbei das du es so organisierst das du den Überblick behältst und z.B. keine Variablen/Funktionen verwechselst. Ansonsten können diese durch andere Skripte/Komponenten unwissentlich überschrieben werden. Wie du siehst es gibt hier kein generelles Falsch.
Wenn ich sowas brauche dann nutze ich dafür ein JS Framework, wie z.B. Vue.js
Das alles in reinem JS abzubilden ist mir mittlerweile zu umständlich geworden, werde zu Vue.js auch Tutorials machen ;)
PS.: Ich sehe kein Problem darin Tailwind zu verwenden...
@@ProgrammierenMario OK, danke.
Kannst DU noch was zum Einlesen von JSON ohne webserver sagen?
Ps. kannst Du auch noch meine Frage in deinem Fetch Video ansehen?
Danke ;-)
Bei einigen Browsern ist es aus Sicherheitsgründen nicht erlaubt auf lokale Dateien zuzugreifen. Du könntest dies zwar erlauben aber dies gilt dann generell auch wenn du normal den Browser "online" verwendest. Falls du dein Projekt nur für dein Heimnetz verwenden möchtest dann kannst du dir auch einen Web Server einrichten, dies würde ich dir empfehlen wenn du auch per Handy z.B. über wlan auf deine Projektseite zugreifen willst. Über xampp oder wamp gibt es fertige pakete für windows die du verwenden kannst. Oder über eine NAS wo es ebenfalls web server für gibt, das wäre dann mein persönlicher Favorit ;)
Minute 29: Normalerweise ist eine if-Abfrage kein eigener Gültigkeitsbereich. Zumindest nicht in sonstigen Programmiersprachen. Bei einer Funktion ist das klar, das wäre ein separater eigener Bereich, aber dass das hier in JS auch innerhalb einer IF-Abfrage ist, ist doch ungewöhnlich.
Dies zählt aber auch nur für let und const wenn diese innerhalb von if, for etc. definiert wurden. Diese sind block scoped - erzeugen quasi für einen block (geschweifte Klammern) einen separaten Gültigkeitsbereich. Bei var ist das nicht so, hier wird der globale scope (Gültigkeitsbereich verwendet). var nutzt nur innerhalb von Funktionen einen separaten Gültigkeitsbereich wenn es dort deklariert wurde.
@@ProgrammierenMario das erklärt einiges. Ich wusste nur bisher dass var etwas mächtiger ist, wusste aber nichts Genaues. Habe mir auch weiter keine Gedanken gemacht, weil ich das von php mit der Gültigkeit anders gewohnt bin. "Let" kann man ja auch weglassen. Folgendes müsste doch dasselbe sein: Also Let a = 2 dasselbe wie a = 2, oder?
Hey Mario,
ich stelle mir gerade eine Frage, was ich für "sinnvoller" halten soll.
Was ist denn deine Meinung dazu?
Ich möchte Daten in mein Skript auf einer Datei importieren und bearbeiten. (Dies sind einzelnen Artikel mit ca. jeweils 10 Attributen).
Da ich lokal irgendwie mit fetch nichts öffnen kann (ohne Webserver), fällt JSON erst einmal flach.
Ich habe nun einfach eine js datei erzeugt, in welcher die Daten in einem Array und darin in einer Struktur liegen.
Dieses Arry, kann ich mir mit getData() in mein Skript holen. --> Funktioniert top.
Frage nun: Sollte man für so etwas klassen anlegen, oder ist das vollkommen ok so?
Wie lagt man eigentlich eine klasse in einem array an?
Ich meine, wenn ich eine JSON eingelesen hätte, hätte ich ja auch keine klasse, oder?
Zweite Frage wäre: Ichhabe im HTML viele direkte Überschriften usw.
Wenn man es nun internationalisieren muss/will und die Sprache umschalten muss, wie löst man das denn am geschicktesten?
Muss man jetzt hier überall bspw. den innerhtml code im mittels js anpassen?
Dritte Frage:
wenn ich in meinem mit tailwind erstellten Projekt seiten habe, welche in unterordner liegen, kann man dann auch irgendwie je unterordner bzw. je seite eine style.css erzeugen, oder muss man von allen seiten auf ein und die selbe css vom Hauptverzeichniss schauen?
Na hab schon auf den nächsten Kommentar von dir gewartet 😂
Generell kannst du das JSON Format auch direkt in JavaScript nutzen, also ohne es in einer externen Datei zu haben. Hier kannst du es z.B. einfach einer Variable zuweisen.
Internationalisierung ist so ein Thema wo es tonnenweise Ansätze gibt wie man sowas umsetzen kann bzw. was man dafür auch verwenden kann. Das hängt dann stark davon ab was das Ziel ist und wie umfangreich das Projekt ist und ob du Frameworks einsetzt und und und. SEO ist hierbei auch ein Thema falls das wichtig sein soll. Pauschal kann ich da so nichts sagen. 🤷♂️
@@ProgrammierenMario OK, kannst Du was zu den anderen Fragen sagen?
Bei Tailwind macht es Sinn nur eine CSS Datei zu haben und diese überall einzubinden.
@@ProgrammierenMario OK, weil ich gerade mal einem kollegen ein "Teil" eines Projektes senden wollte, damit er es sich mal ansieht und da im html die css dateil im Hauptverzeichnis liegt, hätte ich entweder die einbindung ändern müssen, oder den Kompletten Hauptordner mit senden müssen.
das fan ich etwas unschön. Aber naja, wenn das so ist, dann werde ich es mal akzeptieren.
Man hätte es halt so schön abgekapselt gehabt.
Ja das kann ich verstehen. Der Grund ist das sonst sehr vieles doppelt und dreifach vorhanden ist. Also CSS Klassen die du in allen HTML Dateien verwendest. Der Vorteil ist auch wenn du nur eine hast, diese dann vom Browser gecached wird und somit nur einmalig geladen werden muss auch wenn der Besucher der Seite weitere Seiten von deiner Website anschaut.
Mich irritiert furchtbar, dass die js-Dateien erst am Ende der Html-Datei eingebunden werden, aber ihre Funktion schon vorher aufgerufen wird. Wieso funktioniert das? Ich muss nach meinem bisherigen Programmierverständnis doch erst die Werkzeuge laden, bevor ich sie benutzen kann und nicht umgekehrt. Kann mich noch etwas an Fehlermeldungen - auch des Browsers - erinnern, dass sich ein Programm deshalb beschwert, weil eine Funktion aufgerufen wurde, die noch gar nicht definiert bzw. vorhanden war. Ist das mittlerweile anders? Deshalb gibt es ja in JQuery auch die $-Ready-Anweisung, die sicherstellt, dass der Code erst ausgeführt wird, wenn alles geladen wurde.
Hi, kannst du mir ein Timestamp vom Video geben? Ist schon eine Weile her und so kann ich besser auf das Beispiel eingehen.
Grundsätzlich musst du die JS-Dateien nicht am Ende einbinden. Du kannst diese auch im document-Head einbinden und da aber mit dem Attribut "defer" wenn dieses erst ausgeführt werden soll wenn das document vollständig da ist.
Wichtig ist nicht immer unbedingt die Reihenfolge wann etwas definiert wurde sondern wann etwas ausgeführt wird. Zudem gibt es in JavaScript das sogenannte Hoisting. Javascript schiebt alle Deklarationen von Funktionen "nach oben" (das nennt man function hoisting). Funktionen dürfen also aufgerufen werden, bevor sie definiert werden.
Hoffe dies hilft dir erstmal etwas weiter :)
1:31:00 ja hab ich gerne gesehen. Will aber darauf hinweisen, dass sowas mit framworks m.E. deutlich lesbarer ist. Beispiel angular : th-cam.com/video/ysrrrd-Of8U/w-d-xo.html
Vue.js vielleicht heute beliebter. Aber ja ich denke es schadet nie zu wissen wie es in real JS aussieht. Ich lerne von deinen Tuts. Mein JS wissen ist lange her und teilweise veraltet
Die Frameworks nehmen einem einiges ab. Es ist immer eine Fall zu Fall Entscheidung je nach Projekt. Ich verwende sehr gerne Vue.js aber für kleine Sachen oder bei Projekten wo ich nicht sonderlich viel JavaScript brauche verzichte ich lieber und benutze das bisschen JS so. :)
Wie kann man ein langes Zahlen-Array [10,20, 5, 10, 2, 5, usw.] im Quelltext von JS in mehrere Zeilen schreiben (also Zeilenumbruch im Quelltext)?
Der Formater in JS setzt mir alle Zahlen untereinander.
Einfach über mehrere Zeilen schreiben, dabei kannst du beliebig viele Werte je Zeile definieren (Beim letzten Wert kein Komma danach):
let numbers = [
10, 20, 5,
10,
2, 5
];
Wenn ich das so mache und danach speichere, dann setzt der "Formater" wieder alles untereinander und macht dann ein Komma nach dem letzten Wert (5).
Muss man da an der Formater-Einstellung was ändern? (Habe VS-Code nach deinen Vorschlägen eingerichtet)
Dieses Verhalten klingt schonmal merkwürdig. Es ist möglich das bei dir mehrere Code Formatter laufen. Es gibt auch mehrere Prettier extensions. Wenn du in deinem JavaScript File bist, Drück mal SHIFT+ALT+F
Damit formatierst du den Code, falls mehrere Formatter für JavaScript aktiv sind kommt eine Meldung und du musst einen auswählen. Hoffe das hilft erstmal weiter ;-)
@@ProgrammierenMario Danke für die Rückmeldung. Ich habe nur den Prettier installiert. Na, ja dann ist es halt so :-)
Habe gerade den Prettier Version 6.3.2 installiert - scheint jetzt zu funktionieren.
super video mach weiter so abo ist da
Alles klar, dann kann’s ja losgehen 😉
Hmm, ich bekomme leider keine Ausgabe bei Klick auf den Button.
Habe aber deinen Code 1 zu 1 übernommen. Ratlos...
Hi, kommt ein Hinweis in der Browser Console? Der Fehler liegt meistens im Detail. Zwischen Groß und Kleinschreibung wird z.B. unterschieden bei Variablen- , Funktionennamen etc...
Heißt dein clickButton wurde nicht gefunden. Vllt hier aus versehen anders geschrieben?
@@ProgrammierenMario Hi man, danke für deine Antwort! Jetzt läuft's. Das Problem lag wohl iwo beim script-tag. BTW, 1A-Anleitung!
Alles klar, läuft 👍
life saver
✌🙂
warum so unbekannt wenn du dir so vuel mühe gibst
Die Themen auf diesem Kanal sind wohl nicht so Trendy. Oder ich muss mich noch weiter verbessern und ins Zeug legen. Naja mit Geduld und Spucke wird das schon ✌️🙂
@@ProgrammierenMario ok ich wünsch dir noch viel glück
Vielen Dank 🙏
Super Video!
Aber irgendwie hat jeder hier auf TH-cam ein Beispiel mit einem Inputfeld, einen Button und eine liste in der etwas eingefügt wird.
leider macht keiner mal was außergewöhnliches wie Dropdown listen oder sogar von einander abhängig sind...
so etwas wäre doch mal interessant.
Vielen Dank für dein Feedback. Ich kann gut verstehen das dieses Beispiel, welches ich am Ende zeige, etwas ausgelutscht daherkommt. Aber es ist einfach. Also gut für Anfänger/Einsteiger geeignet um erste Schritte zu machen. Es ist viel wichtiger die DOM Manipulation an sich zu verstehen, dann kannst du auch außergewöhnliche Dropdowns erstellen. Aber du bringst mich gerade auf die Idee nochmal ein umfangreicheres Video zu DOM Manipulation zu machen. Fehlt noch irgendwie auf meinem Kanal :)
@@ProgrammierenMario
Vielen dank für eine Antwort, macht nicht jeder TH-camr.
Ich mag deinen Kanal wirklich sehr denn das ist der einzige Kanal, mit zwei anderen, wo ich meine Ganzen Informationen her hole.
Du bist einer der wenigen bei dem man es merkt wie viel Mühe du dir gibst.
Das wäre wirklich super!
Danke dafür im Voraus.
wirklich, ich mag deinen Content und du bist auch sehr sympathisch.
Kopf hoch und mach weiter so, ich wünsche dir nur das Beste.
MfG Ein großer Programmieren mit Mario Fan
Alles klar, hau rein ✌️🙂
Irgendwie werde ich mit JS nicht so richtig warm. Mit JS bin ich auf Kriegsfuß, finde den Code sehr unleserlich.
Tja... fürs Web Frontend kommst du leider nicht ganz drumherum bzw. du kannst es nur aufs Minimum reduzieren. Ist vielleicht ein JS Framework etwas für dich? React oder Vue? Eventuell hilft es dir da hier alles nach einem bestimmten Pattern aufgebaut ist und es übersichtlicher ist.
@@ProgrammierenMario Naja, ich denke es wäre besser wenn ich es lernen würde, nur fällt es mir irgendwie schwer und ich vergesse es immer sehr schnell. Mit Vue hab ich etwas Erfahrung gesammelt.
Bei mir hat das damals auch eine Weile gedauert bis ich mit JavaScript richtig warm wurde. Bleib auf jeden fall dran ;-)
Coole Tutorials. Habe das direkt mal versucht. Visual Studio Code und Live Server installiert. Allerdings unter Linux das Ganze. Aber da fehlt mir die Console links. Wäre cool, wenn mir da jemand helfen könnte :D :0 :D
Grüße... was meinst du mit console links? Steh da gerade aufm Schlauch 😂
@@ProgrammierenMario Ich meine den Bereich, wo die Ausgaben erscheinen, den du erwähnst. th-cam.com/video/cAiSbkWvBQU/w-d-xo.html
Die console erreichst du entweder mit F12 (Browserfenster muss dabei aktiv sein) oder du klickst mit der rechten Maustaste in das Browserfenster und gehst auf "Untersuchen". Dann öffnen sich auch die dev tools. Dort dann den Tab console auswählen. Wenn du den Live Server verwendest dann musst du natürlich vorher die Seite unter localhost:5500 aufgerufen haben ;-)
Nicht unbedingt:
Bitte aktualisieren.
Das ist auch javascript !!!
Das Klappmenü hat ein Javascript im Bodybereich, damit es funktioniert und wird mit eingebunden.
Bitte mal dazu den Timestamp schreiben, damit ich weiß worauf sich das bezieht. Vielen Dank 🙂
entschuldigung
Wie kann ich Ihnen eine Nachricht senden?
Postbote Otto ist leider im Urlaub. Ohne ihn macht das alles keinen Sinn. Tut mir leid da müssen wir nun alle durch. Schwierige Zeit gerade.
also heißt es wenn ich jetzt einen discord bot programiere und eine funtion will es so geht
if(message.content == '!send') {
function message() {
console.log('hallo')
}
message();
Hallo Zeed, mir ist nicht so richtig klar was du machen möchtest. Kannst etwas mehr ins Detail gehen?
@@ProgrammierenMario Es gibt da so eine App die heißt Discord und man bin kann da mit seinen Freunden chatten usw, Aber es gibt so bots die auf ne nachrichten reagieren (!level) und genau das wollte ich machen
Discord ist mir bekannt ;-)
Ich meinte ob du mir näher erklären möchtest was du genau machen willst. Aber um auf dein Beispiel einzugehen müsste die Funktion eher so aussehen wenn ich es richtig verstanden habe:
function checkMessage() {
if(message.content == '!send') {
console.log('hallo');
}
}
checkMessage();
@@ProgrammierenMario oh danke 😊