Ausgehend von einem klassenbasierten OOP-Hintergrund (C++/Java/C#) bin ich auf dem Weg, objektorientiertes JavaScript zu lernen. Ich lese oft Ratschläge über die Verwendung von Object.create(...)
anstelle von new ...
, wenn es sich um Objekte handelt, ist JS.Erstellen eines XMLHttpRequest-Objekts mit Object.create()
Also habe ich versucht zu schaffen AJAX so nennt:
var req = Object.create(XMLHttpRequest);
req.open(...); // TypeError: req.open is not a function
Sollte open
nicht in req
‚s Prototypkette sein?
Ich habe auch versucht die XMLHttpRequest
Konstruktorfunktion auf mein Objekt anzuwenden:
var req = Object.create(XMLHttpRequest);
XMLHttpRequest.apply(req, null); // Constructor XMLHttpRequest requires 'new'
Gerade als ich dachte, dass ich mit JS des OO Weg aus der Misere war, zieht mich das in :) zurück
Viele Danke an diejenigen, die mir helfen werden zu verstehen, was hier vor sich geht.
'XMLHttpRequest' ist eine Funktion. –
"* Ich lese oft Ratschläge zur Verwendung von Object.create (...) anstelle von neuen ... *" - nein. Bitte lesen Sie es noch einmal. Sie sind nicht austauschbar. – Bergi
ya, versuchen Sie, drucken Sie diese beiden werden Ihnen helfen, zu verstehen. console.log (neues XMLHttpRequest()); console.log (Object.create (XMLHttpRequest)); – Hammer