2016-07-22 16 views
0

私はXmlHttpRequestがオブジェクトであることを知っています。しかし、なぜ私たちはプロパティとメソッドを使用するときに新しいオブジェクトを作成しますか?例:私はXMLHTTPREQUEST()と混同しています

var xmlhttp = new xmlhttprequest(); 

xmlhttp.readystateまたはxmlhttp.statusプロパティを使用します。 xmlhttprequest.readysateまたはxmlhttprequest.statusを直接使用できない理由

なぜこの後に括弧()を使用しますか?それは機能ではありませんか?

助けてください。

+0

bcz readystateとstatusは、xmlhttprequest.readystateを呼び出して直接使用できる静的プロパティではありません。これらのプロパティはxmlhttprequestクラスの一部でpublicなので、インスタンス化する必要があります。 –

答えて

1

これはコンストラクタである:ここに詳細https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/XMLHttpRequest

あなたはそれがどのように動作するか確認するために独自に作成することができます。

function Person(name) { 
    this.name = name; 
} 

var me = new Person('Kirill'); //now you can access it via me.name 

だからここの人は名前で初期化される - そうXMLHttpRequestがある:それはあなたが基本的にはXMLHttpRequestオブジェクトはインターフェイスであることの性質

0

で動作することができます前に初期化する必要があります。 W3.org

通りXMLHttpRequestオブジェクトは、スクリプトを削除Webサイトからフォームデータまたはロードデータを送信するようにHTTPクライアント機能、例えば を実行することを可能にするスクリプト エンジンによって露出されたインターフェースです。

あなたはtypeof演算をチェックすると、結果が来るものを参照してください:

console.log("XMLHttpRequest is a "+typeof XMLHttpRequest); 
 

 
console.log("new XMLHttpRequest() is an "+typeof new XMLHttpRequest());

あなたがnew XMLHttpRequest()を使用するときだから、あなたがXMLHttpRequest()コンストラクタを使用してXMLHttpRequestのインスタンスを作成していることを意味します。

関連する問題