我今天才开始使用javascript,并在网络上对此事进行了研究。但是我无法掌握闭包的用法,尤其是对于我编写的这段代码:
function writeit()
{
var tbox = document.getElementById('a_tbox').value;
var letters = tbox.split("");
for(var i=0;i<letters.length;i++)
{
if(letters[i]==="a")
{
document.a_form.b_tbox.value = i+1 + ". character is a";
}
else if(letters[i]==="b")
{
document.a_form.b_tbox.value = i+1 + ". character is b";
}
else
{
document.a_form.b_tbox.value = i+1 + ". character is not a nor b";
}
}
}
正如您在此处看到的,我想从文本框中获取一个字符串,将其拆分为一个数组并使用 for 循环更改其中的值。我对我的代码的期望是,如果文本框包含“abc”作为用户贡献,则输出将是“1. value is a 2. value is b 3. value is not a or b”。但它只给出“3. value is not a nor b”作为输出。可以做些什么来防止这个问题?