循环不工作时使用JavaScript
我一直在尝试开发javascript来识别名称、显示名称、长度和字母以及它们出现的位置,但我似乎无法让while循环正常工作。谁能帮我一下吗,谢谢循环不工作时使用JavaScript,javascript,html,while-loop,Javascript,Html,While Loop,我一直在尝试开发javascript来识别名称、显示名称、长度和字母以及它们出现的位置,但我似乎无法让while循环正常工作。谁能帮我一下吗,谢谢 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html > <head> <title> jav
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html >
<head>
<title>
javascript
</title>
<script>
function displayName(){
var str = prompt("enter your name:");
var len = str.length;
var chara = str.charAt(0);
var n = chara.indexOf(0);
while(chara <= len){
document.write("<br>the letter " + chara + " is number " + n);
chara++;
}
document.write("the name entered is: " + str + "<br></br>" + "the length is " + len);
}
</script>
</head>
<body>
<script>
displayName();
</script>
</body>
</html>
javascript
函数displayName(){
var str=prompt(“输入您的姓名:”);
var len=str.length;
var-chara=str.charAt(0);
var n=字符索引(0);
while(chara看起来您正在将chara
设置为返回字符串的第一个字符。请尝试将其设置为0
var chara=0;
看看这是否有效。您的循环使用了错误的迭代器
function displayName(){
var str = prompt("enter your name:");
var len = str.length;
var chara = 0;
while(chara < len){
document.write("<br>the letter " + str.charAt(chara) + " is number " + (chara + 1));
chara++;
}
document.write("<br/>the name entered is: " + str + "<br></br>" + "the length is " + len);
}
函数displayName(){
var str=prompt(“输入您的姓名:”);
var len=str.length;
var-chara=0;
while(chara字母“+str.charAt(chara)+”是数字“+(chara+1));
chara++;
}
document.write(“
输入的名称为:“+str+”
“+”长度为“+len”);
}
您已将chara
设置为第一个字符“A”例如,当A递增错误的变量时,您尝试执行。而不是递增chara
,您应该递增n
并重置chara
,以指向字符串的下一个字符。您还不正确地使用了indexOf
,只需将n=0;
设置为开始 您的循环将一个字符(名称的第一个字符)与一个数字(名称的长度)进行比较。有几种方法可以完成您试图完成的任务
如果你想继续使用while循环,你应该跟踪一个用作计数器的变量,它统计你在循环的哪个迭代。这将替换chara变量
函数displayName(){
var str=prompt(“输入您的姓名:”);
var len=str.length;
var计数=0;
while(计数字母“+str.charAt(count)+”是数字“+(count+1);
计数++;
}
document.body.innerHTML++=”
输入的名称为:“+str+”
“+”长度为“+len;
}
我已将对document.write()
的调用替换为innerHTML
参数,因为这被认为是更好的做法,但您可以使用其中任何一种
顺便说一句,在这个任务中使用for循环更具语义。不要使用文档。编写,添加一个节点(
或类似的节点)并更新它。当然。但我不打算为他重写它;只需回答给定的问题。
function displayName(){
var str = prompt("enter your name:");
var len = str.length;
var count = 0;
while(count < len){
document.body.innerHTML += "<br>the letter " + str.charAt(count) + " is number " + (count+1);
count++;
}
document.body.innerHTML += "<br>the name entered is: " + str + "<br></br>" + "the length is " + len;
}