这是什么类型的函数?

What type of function is this?

const xhr = new XMLHttpRequest(),
    method = "GET",
    url = "https://developer.mozilla.org/";

xhr.open(method, url, true);
xhr.onreadystatechange = function () {
  // In local files, status is 0 upon success in Mozilla Firefox
  if(xhr.readyState === XMLHttpRequest.DONE) {
    var status = xhr.status;
    if (status === 0 || (status >= 200 && status < 400)) {
      // The request has been completed successfully
      console.log(xhr.responseText);
    } else {
      // Oh no! There has been an error with the request!
    }
  }
};
xhr.send();

此代码表示 XHR 请求和响应。我正在观看关于 AJAX 的教程,xhr.onreadystatechange 被描述为一个对象 属性。我知道函数表达式是分配给变量的匿名函数,但是分配给对象属性的匿名函数呢?这种在对象属性更新时调用的函数叫什么名字?据我所知,这在基础 javascript 或 ES6 中并没有真正教授过。

您分配给 xhr.onreadystatechange 的函数称为 事件处理程序 。当实际事件 'readystatechange' 在您的案例中被触发时,此事件处理函数将被执行。

那是一个event handler which differs a little bit from a callback.