クラスベースのOOPバックグラウンド(C++/Java/C#)から来ていますが、私はオブジェクト指向のJavaScriptを学習する道です。私はしばしばオブジェクトを扱うときにnew ...
の代わりにObject.create(...)
を使うことに関するアドバイスをJSと読む。Object.create()を使用したXMLHttpRequestオブジェクトの作成
だから私はAJAXを作成しようとしましたがそのように呼び出します。
var req = Object.create(XMLHttpRequest);
req.open(...); // TypeError: req.open is not a function
はopen
はreq
のプロトタイプチェーン内にあることではないでしょうか?
私も自分の物にXMLHttpRequest
コンストラクタ関数を適用しようとしました:私はJSのオブジェクト指向の方法とトラブルのだと思った
var req = Object.create(XMLHttpRequest);
XMLHttpRequest.apply(req, null); // Constructor XMLHttpRequest requires 'new'
ちょうどその時、これは後ろに:)
多く私を引っ張ります私はここで何が起こっているのか理解するのを手伝ってくれる人に感謝します。
'XMLHttpRequest'は関数です。 –
"*私はしばしば、新しい...の代わりにObject.create(...)を使用することに関するアドバイスを読む* *" - いいえ。もう一度お読みください。彼らは交換できません。 – Bergi
ya、この2つを印刷してみてください。 console.log(新しいXMLHttpRequest()); console.log(Object.create(XMLHttpRequest)); – Hammer