为什么我们在Javascript函数中传递这个?

时间:2017-09-25 05:59:20

标签: javascript xml

我是XML新手。在这里,我不明白为什么我们通过"这个"到myfunction()。我在等你的回复。期待。

function loadXMLDoc() {
  var xmlhttp = new XMLHttpRequest();
  xmlhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
      myFunction(this);
    }
  };
  xmlhttp.open("GET", "cd_catalog.xml", true);
  xmlhttp.send();
}
function myFunction(xml) {
  var x, i, xmlDoc, txt;
  xmlDoc = xml.responseXML;
  txt = "";
  x = xmlDoc.getElementsByTagName("ARTIST");
  for (i = 0; i< x.length; i++) {
    txt += x[i].childNodes[0].nodeValue + "<br>";
  }
  document.getElementById("demo").innerHTML = txt;
}

1 个答案:

答案 0 :(得分:0)

this关键字指的是当前上下文。

然后将

this作为参数传递给myFunction()

myFunction()然后获取对象(现在称为xml)并使用填充

要获得技术支持,请查看描述XMLHHttpRequest()的MDN页面 https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

所有属性列表都在当前上下文中。您会注意到其中一个是responseXML。这是您在代码中引用的属性:

xmlDoc = xml.responseXML

希望这有帮助。