gpt4 book ai didi

javascript - 为什么 `checkInputlength` 总是返回 false?

转载 作者:行者123 更新时间:2023-11-30 23:54:30 25 4
gpt4 key购买 nike

var button = document.querySelector("button");
var input = document.querySelector("input");
var ul = document.querySelector("ul");
var checkInputlength = input.value.length>0;

function createList() {
if (checkInputlength) {
var node = document.createTextNode(input.value);
var li = document.createElement("li");
li.appendChild(node);
ul.appendChild(li);
}
}

button.addEventListener("click", createList);

checkInputlength 由于某种原因总是返回 false。但是,当我将条件放入 if 语句 if (input.value.length>0) 中时,它会按预期工作。谁能告诉我为什么?

最佳答案

您所做的是检查 <input> 的长度的值一次并将结果保存为变量。在该变量的后续查找中它不会改变。从某种意义上说,您已经缓存了该值,或者在输入值的长度为 0 时通过查找一次(且仅一次)来及时卡住它。

请参阅此示例。当您输入输入时,您将看到变量没有更改,但函数返回的值会更改。

var input = document.querySelector("input");
var checkInputlength = input.value.length>0;

function returnBooleanAboutInputLength() {
return input.value.length>0;
}

setInterval(()=>{
console.log("returnBooleanAboutInputLength()", returnBooleanAboutInputLength())
console.log("checkInputlength", checkInputlength)
}, 1000)
<input>

关于javascript - 为什么 `checkInputlength` 总是返回 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61149724/

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