Javascript 如何调用一个函数作为参数,我尝试了这个不工作?
现在我试图调用一个函数作为另一个函数的参数,为什么这对我不起作用,没有在屏幕上显示任何内容, 在回调函数中也尝试过这样做 不要介意preventDefault(),只是练习一下而已Javascript 如何调用一个函数作为参数,我尝试了这个不工作?,javascript,html,Javascript,Html,现在我试图调用一个函数作为另一个函数的参数,为什么这对我不起作用,没有在屏幕上显示任何内容, 在回调函数中也尝试过这样做 不要介意preventDefault(),只是练习一下而已 let button = document.getElementById("dugme"); function luka() { return new Promise((res, rej) => { res("auto"); rej("kamion"); }); } button.ad
let button = document.getElementById("dugme");
function luka() {
return new Promise((res, rej) => {
res("auto");
rej("kamion");
});
}
button.addEventListener("submit", (ev, luka) => {
let bobo = document.getElementById("test");
if (!bobo) ev.preventDefault();
else {
luka()
.then(info => {
info = bobo;
let luna = document.createElement("h1");
info.innerText = "Bobo je kralj";
luna.append(info);
})
.catch(err => {
console.error(err);
});
}
});
///////////HTML/////////////
<body>
<div id="test"></div>
<button type="submit" id="dugme">Dugme</button>
</body>
达格米
当您将信息附加到luna时,信息不再位于dom中,因为您从未将luna(h1标记)附加到dom中的节点,因此您会错过以下内容:
luka()
.then(info => {
info = bobo;
let luna = document.createElement("h1");
info.innerText = "Bobo je kralj";
luna.append(info);
document.body.appendChild(luna); // <-- this is missing
})
luka()
。然后(信息=>{
info=bobo;
让luna=document.createElement(“h1”);
info.innerText=“Bobo je kralj”;
luna.append(信息);
document.body.appendChild(luna);//此处无需调用promise函数作为参数。
一旦声明了它,您就可以在另一个函数中简单地使用它
此外,还需要使用document.body.appendChild(luna)
将luna
附加到dom中
以下是完整的代码:
let button = document.getElementById("dugme");
const luka = () => {
return new Promise((res, rej) => {
res("auto");
rej("kamion");
});
}
button.addEventListener("click", (ev) => {
let bobo = document.getElementById("test");
if (!bobo) ev.preventDefault();
else {
luka()
.then(info => {
info = bobo;
let luna = document.createElement("h1");
info.innerText = "Bobo je kralj";
luna.append(info);
document.body.appendChild(luna)
})
.catch(err => {
console.error(err);
});
}
});
你到底想在这里干什么,伙计?luka()
不起作用,因为你有一个名为luka
的局部变量,它覆盖了另一个实例。我厌倦了将函数luka作为参数从上面传递到那里,所以我可以调用它,你将如何在这里写这段代码,以使其生效。然后在else内部。除了局部变量问题,你永远不会将luna附加到dom节点,这样信息就不会可见的