Ich möchte eine Konstruktorfunktion erstellen, die ein DocumentElement-Objekt erstellt.JavaScript: Kann eine Konstruktorfunktion ein documentElement-Objekt erstellen?
Betrachten Sie als Beispiel den neuen Konstruktor von Audio() - er erstellt ein documentElement-Objekt, und wenn Sie ihm einige Variablen übergeben, füllt er das neue documentElement mit Attributen. Es fügt es nicht in das DOM ein, es erstellt einfach das Objekt.
Also ist die Frage - was unterscheidet ein documentElement von einem vanilla javascript-Objekt (der Art {property: value}), und können Sie Konstruktoren für sie wie für Objekte schreiben?
Edit:
Was ich liebäugelt mit ist das neue Audio() Konstruktor in Browser neu zu erstellen, die es nicht haben, einen Quicktime oder Flash-HTMLObjectElement anstelle des HTMLAudioElement verwenden.
Es ist in Ordnung für mich, dass audio.constructor auf HTMLObjectElement verweisen wird, da audio.constructor in HTMLAudioElement auf das neue Audio() in Browsern verweist, die es unterstützen.
Ich bin mir nicht sicher über den Audio.prototype. Wenn ich console.log (Audio.prototype) in Browsern mit Audio-Unterstützung abfrage, geben sie überhaupt nichts zurück - nicht einmal eine leere Zeile in der Datei console.log - das hat mich über den Haufen geworfen. Wenn ich richtig verstehe, beeinflusst das nicht, was ich vorhabe.
Ziel ist es, in der Lage zu sein, mit dem Audio-Konstruktor zu codieren, den Browser nativ behandeln zu lassen oder bei Bedarf eine Plugin-Instanz einzurichten.
Ich habe gerade eine Notiz hier gesehen, die hilft: http://stackoverflow.com/questions/367768/javascript-detect-if-function-called-as-constructor Claudia sagt: Wenn eine Konstruktorfunktion Gibt ein Objekt zurück, das anstelle von verwendet wird. – stephband
Der 'Audio'-Konstruktor erstellt ein' documentElement'? Hast du Referenzen?Weil ich keinen 'Audio'-Konstruktor kenne. –
Es ist neu. Es begleitet HTML5 und ermöglicht es Ihnen, Sounds von Javascript zu spielen. Sehen Sie sich die untere Hälfte des Blogposts an: http://html5doctor.com/native-audio-in-the-browser/ – stephband