填充的参数什么都没有被填充

Parameters filled with nothing gets anyhow filled?

本文关键字:填充 什么 参数      更新时间:2023-09-26

我正在上一门 JavaScript 课程,但无法弄清楚我下面的示例如何用"正确的东西"填充参数,因为我实际上没有地方用相应的元素调用函数?

  success: function(result) {
    $('myElement').html(result);
  }

猜一定有某种默认行为发生了,我错过了?

希望有人能帮我解决这个问题。/克里斯托弗·古尔德瓦格

让我们简化 jQuery 的定义(非常好奇的人可以在这里看到实际的 AJAX 实现);

var jQuery = {
    ajax: function (obj) {
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange = function () {
            if (this.readyState === 4 && this.status === 200) {
                obj.success(this.textContent);
            }
        }
        xhr.open(obj.url, 'GET', false);
        xhr.send(null);
    }
};

当你这样做时;

jQuery.ajax({
    url: '/foo.php',
    success: function (response) {
        $('myElement').html(result);
    }
});

.. jQuery可以使用obj.success调用成功函数,并向其传递它想要的任何数据(在本例中为this.textContent)。

不是调用函数;你是在定义一个函数,并将其传递给其他地方,并允许他们稍后调用它,并传递他们想要的信息。

看起来像一个回调。所以另一个函数负责在某个时候调用它并传递result .

因此,您正在调用一个采用success函数的函数。你说:"嘿,当你完成这个时,请调用我给你的这个成功函数,请给IT你想出的result

它是一个

作为闭包实现的回调函数。