2017-10-23 10 views
0

私はJavascriptの "this"は、それを呼び出すオブジェクトを意味するはずですが、それは正しいですか?この「コード例」の意味は次のとおりですか? ` "this"はこのコード例ではどういう意味ですか?

ここ
<p id="demo"></p> 

<script> 
var xhttp = new XMLHttpRequest(); 
xhttp.onreadystatechange = function() { 
if (this.readyState == 4 && this.status == 200) { 
    myFunction(this); 
} 
}; 
xhttp.open("GET", "books.xml", true); 
xhttp.send(); 

function myFunction(xml) { 
var xmlDoc = xml.responseXML; 
document.getElementById("demo").innerHTML = 
xmlDoc.getElementsByTagName("title")[0].childNodes[0].nodeValue; 
} 
</script> 

</body> 
</html>` 
+0

値は、あなたがそれを使用している実行コンテキストに依存します。 – Niladri

答えて

2

thisここxhttpあるXMLHttpRequestオブジェクトを意味します。しかし、thisという値は、コンテキストに基づいて異なる場合があります。任意の関数の外部のグローバル実行コンテキストでは、thisは、windowのjavascriptオブジェクトを指しています。

チェック以上の基準については、このリンク:this` `の

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this

関連する問題