Zum Inhalt springen

Diskussion:JavaScript

Seiteninhalte werden in anderen Sprachen nicht unterstützt.
aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 18. Mai 2019 um 12:59 Uhr durch Marquis4057 (Diskussion | Beiträge) (Neuer Abschnitt JavaScript für Mikrokontroller). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Letzter Kommentar: vor 5 Jahren von Welkensittich in Abschnitt Programmcode falsch?
Diese Diskussionsseite dient dazu, Verbesserungen am Artikel „JavaScript“ zu besprechen. Persönliche Betrachtungen zum Thema gehören nicht hierher. Für allgemeine Wissensfragen gibt es die Auskunft.

Füge neue Diskussionsthemen unten an:

Klicke auf Abschnitt hinzufügen, um ein neues Diskussionsthema zu beginnen.
Archiv
Wie wird ein Archiv angelegt?

Fehler bei Vorlage * Parametername unbekannt (Vorlage:Autoarchiv-Erledigt): "Klein; Mindestbeiträge" Fehler bei Vorlage (Vorlage:Autoarchiv-Erledigt): Der Wert des Parameters Zeigen wurde im Namensraum "Diskussion" mit "Nein" angegeben.

Codebeispiele um Semikolons ergänzen?

Einige der Codebeispiele nutzen die automatische Ergänzung fehlender Semikolons durch den JavaScript-Parser, wobei das aber nicht einheitlich gehandhabt wird. Da das Weglassen von Semikolons von der statischen Codeanalyse in der Regel bemängelt wird, schlage ich vor, einheitlich die Semikolons explizit anzugeben. Meinungen dazu? --Stefan Weil (Diskussion) 19:48, 28. Mai 2016 (CEST)Beantworten

Ja, sehr gern, sollten natürlich vorbildlich sein.
Ich hab jetzt nicht reingeguckt, aber alle Klammern und Semikolonse und so sollten am Platz sein.
Wir präsentieren hier doch nicht das 1990er-Jahre-Gemurkse irgendwelcher „Webdesigner“ kurz vorm Abi.
Insbesondere sollte http://jshint.com/ in der härtesten Einstellung jeden Block absegnen.
LG --PerfektesChaos 21:11, 28. Mai 2016 (CEST)Beantworten
JSHint ist jetzt zufrieden. --Stefan Weil (Diskussion) 22:14, 28. Mai 2016 (CEST)Beantworten

Wurde in ECMAScript 6 nicht der Sprachkern um Klassendefinitionen erweitert? (Klassenlosigkeit)

Wurde in ECMAScript 6 nicht der Sprachkern um Klassendefinitionen erweitert? -> Ist JavaScript seit ES6 "klassenlos?"

Haut rein (nicht signierter Beitrag von 2A02:8071:238A:4100:12C:8CE5:68A7:655 (Diskussion) 02:13, 1. Jun. 2016 (CEST))Beantworten

Das ist so nicht richtig, bzw. irreführend. Die Klassendefinition ist nur Syntaktischer Zucker und bringt keine neuen Funktionalitäten. JS ist nach wie vor Prototypen basiert. Ich schlage vor das "(bis ECMAScript 6)"aus der Einleitung zu entfernen und dafür die Klassensyntax unter Sprachelemente vorzustellen und dabei auch auf dieses wichtige Detail zu erwähnen. Hier die entsprechende Seite im MDN. --TorAc (Diskussion) 23:09, 10. Aug. 2017 (CEST)Beantworten
Sehe ich genauso. Habe mal versucht, die Einleitung klarzustellen. Optimierungen meines Versuchs: gerne!
--JavaScriptKiddie (Diskussion) 08:33, 11. Aug. 2017 (CEST)Beantworten

Vordefinierte Objekte

Muss es in der Passage

JavaScript kennt mehrere eingebaute Objekte, die von ECMAScript definiert werden.
  • Das namenlose globale Objekt, das alle Variablen und Objekte enthält.
  • Object als allgemeiner Prototyp, von dem alle Objekte abgeleitet sind.
  • Function als Prototyp für Funktionen.
...

nicht besser heißen:

JavaScript kennt mehrere eingebaute Objekttypen, die von ECMAScript definiert werden
  • Das namenlose globale Objekt, das alle Variablen und Objekte enthält.
  • Object, wobei Object.protoype als allgemeiner Prototyp fungiert, von dem alle Objekte abgeleitet sind.
...

Natürlich kann man noch darauf hinweisen, dass ein „Objekttyp“ eigentlich eine Klasse ist. Wichtig erscheint mir aber, zwischen cl (===cl.prototype.constructor) und cl.prototype zu unterscheiden, wenn cl für eine Konstruktorfunktion wie Object, Array, ... steht. --JavaScriptKiddie (Diskussion) 09:01, 14. Mär. 2018 (CET)Beantworten

"Skriptsprache"

"JavaScript (kurz JS) ist eine Skriptsprache"

Darf man das heute im Jahre 2018 echt noch so sagen? O.o --Guckstift (Diskussion) 12:32, 28. Jun. 2018 (CEST)Beantworten

Klar. Gegenfrage: Wann soll denn das Jahr gewesen sein, ab dem JS keine Skriptsprache mehr war und warum?
Dass viele Skriptsprachen heutzutage nicht mehr Zeile für Zeile interpretiert werden, sondern die Ausführungseinheit um ein..zwei Größenordnungen effizienter arbeitet (wie, ist ja ein Implementierungsdetail), ändert daran ja nichts. Oder? --RokerHRO (Diskussion) 16:27, 28. Jun. 2018 (CEST)Beantworten

Programmcode falsch?

Ist der Programmcode in der oberen rechten Ecke nicht falsch?

//Beispiel function Programm() { alert('Hello World'); } window.onload = Programm()

Die letzte Zeile führt zu einer sofortigen Ausführung der Funktion "Programm" und der Rückgabewert wird zugewiesen. --Welkensittich (Diskussion) 13:13, 24. Apr. 2019 (CEST)Beantworten

Da hast du leider recht; gut aufgepasst.
Die Klammern müssen natürlich weg; es soll das Funktionsobjekt über seinen symbolischen Bezeichner zugewiesen werden.
Ein schleckiger Name wäre bei der Gelegenheit auch angebracht; Programm ist sehr nichtssagend. Eher beimStart oder beimLaden oder wennBereit.
LG --PerfektesChaos 14:27, 24. Apr. 2019 (CEST)Beantworten
Danke!, bei mir (in Firefox) hatte auch der andere Script funktioniert, das ganze lautet jetzt wie folgt (habe beimLaden nicht genommen, da die Funktion auch woanders eingesetzt werden kann, und das was anderes impliziert):
//Beispiel
function halloWelt() {
alert('Hello World');
}
window.onload = halloWelt
@PerfektesChaos, Welkensittich: Irgendetwas dran auszusetzen? Habitator terrae 15:22, 24. Apr. 2019 (CEST)Beantworten
Ja das andere Script funktioniert auch, aber die Funktion wird direkt zur Zeit der Interpretation des JS ausgeführt und nicht zum Zeitpunkt der window.onload beschreibt.
Ich habe nichts dran auszusetzen! Vielen Dank --Welkensittich (Diskussion) 15:39, 24. Apr. 2019 (CEST)Beantworten

JavaScript für Mikrokontroller

JavaScript wird kaum bei Mikrokontrollern eingesetzt. Vielmals läuft ein Webserver auf dem Mikrokontroller, bei dem serverseitig mit Python programmiert wird und die Daten mittels JSON auf einem Web-Browser mittels JavaScript dargestellt werden. Auf dem Mikrokontroller selber läuft aber kein JavaScript.