gpt4 book ai didi

javascript - 调用 JavaScript 函数

转载 作者:搜寻专家 更新时间:2023-11-01 05:07:40 24 4
gpt4 key购买 nike

例如,要调用名为 makeRequest 的函数,我了解到您需要执行 makeRequest();。如果你只做 makeRequest; 它是对函数的引用(我认为)。然而,查看这段代码(在我测试它时有效),它在 window.onload 上调用 makeRequest; 而没有括号。

谁能解释一下?

window.onload = makeRequest;
var xhr = false;

function makeRequest() {
if (window.XMLHttpRequest) {
xhr = new XMLHttpRequest();
}
else {
if (window.ActiveXObject) {
try {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e) { }
}
}

if (xhr) {
xhr.onreadystatechange = showContents;
xhr.open("GET", "colors.xml", true);
xhr.send(null);
}
else {
document.getElementById("updateArea").innerHTML = "Sorry, but I couldn't create an XMLHttpRequest";
}
}

function showContents() {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
var outMsg = xhr.responseText;
}
else {
var outMsg = "There was a problem with the request " + xhr.status;
}
document.getElementById("updateArea").innerHTML = outMsg;
}
}

最佳答案

在这一行:

window.onload = makeRequest;

makeRequest 函数未调用。您只需将函数指针分配给 onload 事件。当加载 DOM 时,浏览器会自动调用此事件,并且只有在那个时刻它所指向的函数才会被调用(这可能会在很久以后发生,但给您的印象是该函数会立即被调用)。

关于javascript - 调用 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5591464/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com