Das ist mir klar - aber bitte sage mir, was du bei dem write Beispiel als Ausgabe erwartest hast, als du es geschrieben hast.
worauf willst du hinaus?
gestern oder vorgestern - meine beiträge wurden ja verschoben - schrieb ich
"dass man mit document.write beim schreiben eines kommentars tatsächlich auskommentiert - wer hätte das erwartet"
dabei fiel mir ein, dass wenn du jetzt den context verlässt, um später bei einem erneuten kontextwechsel den kommentar zu schließen, das nicht möglich ist, da der kommentar das "tatsächlich auskommentiert"
Erwarte nur, dass jemand, der auf diesem Niveau Code postet, diesen auch vorher laufen lässt. Was du auch jetzt anscheinend nicht gemacht hast... aber ich lasse mich gerne eines Besseren belehren.
worauf willst du hinaus?
ich verstehe überhaupt nicht was du willst. gestern oder vorgestern, müsste so #10 gewesen sein, habe ich ein (angebliches) negativ-beispiel gebracht wo write und innerhtml etwas auskommentieren(warum auch immer das falsch sein soll).
du wolltest mir dann in #11 erzählen, dass ich innerhtml nur nicht richtig angewendet habe(merkste was?). wobei gerade dein beispiel zeigt, dass innerhtml hier ein anderes ergebniss liefert als eigentlich erwartet wird.
daraufhin habe ich in #12 geschrieben
"hätten sie wenigstens ein beispiel gebracht,
wo es wirklich zu erst mal nicht erwarteten ergebnissen führt, wenn man nicht genauer drüber nachdenkt, aber auch hier wieder -
in beiden fällen"
also das war als negativ-beispiel gedacht, diesmal als echtes, mit der einschränkung, echtes theoretisches - html-elemente mit kommentaren die durch js geschrieben werden auszukommentieren ist kein anwendungsfall der in der praxis auftaucht.
so, schluss mit "und dann hat der egon zu mir gesagt ... und dann habe ich gesagt ... und dann hat der egon wieder gesagt"
hier können wir das ja machen.
warum gerade hier? wir können das überall dort machen, wo es sich ergibt.
bei selfhtml nennen sie das threaddrift und sind stolz darauf. dabei belächeln sie auch immer wieder gerne diverse bords vielleicht haben sie bei diesem board hier mittlerweile recht. schade drum, vor ein paar jahren war das anders und dieses forum noch richtig gut - was sich auch immer in der diskussionskultur widerspiegelt.
Hat unterschiedliches Verhalten, je nachdem ob das Script inline ist oder in einer externen Datei liegt
wo/wie/was? scripte werden sequenziell geladen, schreibe ich das write in ein script, welches ich über den scripttag lade, hat das dasselbe ergebniss, als würde ich das direkt in das scripttag schreiben.
Beeinflusst den Parser beim Aufbau der Seite
das ist der einzige sinn von write
Kann in der Praxis nach DOMContentLoaded nicht verwendet werden
ja, per design, wie soll das sonst gehen? write hat keinen context zur position wo geschrieben werden soll, weil es an die stelle schreibt, wo es im document steht, weil direkt in den parser input schreibt
Verlangsamt durch seine pure Existenz den Seitenaufbau und die Darstellung.
über geschwindigkeit von js müssen wir eigentlich nicht reden, aber ja, du hast einen kontextwechsel zu js, schreibst etwas in den parserinput und hast wieder einen kontextwechsel zurück zum parser. lass es 1 ms mehr sein, als wenn du es direkt ins html geschrieben hättest. aber auch hier wieder, das gleiche hast du bei innerhtml.
das waren aber alles keine nachteile, sondern die beschreibung von document.write.
Deswegen fällt meine Empfehlung für Anfänger ganz eindeutig aus: Finger weg. Macht mehr Ärger als Nutzen.
dann dürftest du eine menge nicht nutzen, weil du mit fast allem fehler machen kannst. und was viel wichtiger ist, es ist sowas von falsch einfach zu sagen "Finger weg. Macht mehr Ärger als Nutzen."!1elf dabei lernt man nichts. stur regeln befolgen ist ne feine sache für dumme leute, ein forum sollte aber wissen vermitteln.
Und der einzige Anwendungsbereich, wo man es benutzen hat man als Anfänger nicht.
nur als anfänger hat man überhaupt einen anwendungsbereich für write, später wird man feststellen, daß es für write keinen anwendungsbereich gibt. immer wenn man write nutzen kannst, hast du eigentlich einen designfehler in deiner software. das ist aber auch wieder kein grund write nicht zu verwenden, sondern den designfehler aufzudecken.
aber gerade als anfänger var x=1; var y=2; document.write(x+y); zu schreiben ist OK.
Warum sollte jemand Code schreiben wollen, wo man 2 mal hingucken muss, um einen Bug zu finden?
mal ehrlich, dir ist schon klar, dass das theoretische betrachtungen sind, die in der praxis nicht vorkommen. warum sollte jemand einen htmlkommentar mit write schreiben?
Wenn ich doc.write nicht verwende, vermeide ich automatisch einige Bugs.
welche? wie oft hast du bisher htmlkommentare mit js gesetzt?