这是我的代码。控制台总是读取错误。发生了什么?我认为是在将文本框对象化时。
function compare() {
var test = "test";
var input = document.getElementById("input").value;
var inputLen = input.length;
var tick;
for (tick = 0; tick < inputLen; tick++) {
if (input[tick] != test[tick]) {
break;
}
}
if ((tick - 1) == test.length) {
console.log("equal");
} else {
console.log("wrong");
}
}
<input type="text" id="input" placeholder="text">
<input type="submit" id="submit" onclick="compare()">
我真的需要帮助。console.log 总是返回“错误”。
tick === test.length
(因为在循环退出之前,tick
会最后一次递增)。 - 4castleinput == test
呢?使用循环而不检查长度意味着输入"testing"
将被视为等于你的"test"
值。 - nnnnnnif (test == input) { console.log("equal") } else { console.log("wrong") }
。不需要循环。除非您想进行不区分大小写的比较,否则就没有更多内容了,然后您只需编写if (test == input.toLowerCase())
(注意test
已经是小写)。 - nnnnnnfor(i=0;i<3;i++);console.log(i);
输出 3。 - user1636522