有个问题。

来源:3-7 编程练习

qq_久坠深海_0

2020-06-14 14:44:22

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>搜索内容是否有敏感字"草"</title>

</head>

<body>

<script>

   var input=prompt("请输入您要的搜索内容");

   for(i=0;i<input.length;i++ ){

    if(input.charAt(i)=="草"){

     document.write("敏感字'草'在"+i+"被发现")

     break;

    }

   document.write(input);

   }

</script>

</body>

</html>

老师为什么这里不能直接用打印input呢 

写回答

5回答

好帮手慕星星

2020-06-16

同学你好,之前老师回复说了,单个字是需要通过charAt(索引 i值)去获取的,

http://img.mukewang.com/climg/5ee81f5d097f1c3703250071.jpg

i是索引:0,1,2等,不能直接当做字输出。要输出字需要单个获取输出

http://img.mukewang.com/climg/5ee823100966763006310413.jpg

祝学习愉快!

0

好帮手慕星星

2020-06-15

同学你好,明白同学的意思了,是理解的有问题。

input元素接收的是输入的整体内容,例如‘我要吃草’,所以for循环中每次输出input都是整句话。同学说的每次循环一个字,i是索引,不是单个字,如果要获取单个字需要方法,也就是代码中使用的charAt()方法

http://img.mukewang.com/climg/5ee753250957e97f03630051.jpg

如果想要输出单个字,就这样输出

http://img.mukewang.com/climg/5ee753900973ee1c05640177.jpg

http://img.mukewang.com/climg/5ee75396093dc04a00730097.jpg


自己再测试理解下,祝学习愉快!

0
hq_久坠深海_0
h 老师 我对你说的i是索引不是一个字这话不是很理解,因为这个不就是通过索引下标的方式来判断这个字是不是草字嘛
h020-06-15
共1条回复

好帮手慕星星

2020-06-15

同学你好,这段代码也是循环一次就输出相对应的i值哦

http://img.mukewang.com/climg/5ee725ed09507e9103400139.jpg

http://img.mukewang.com/climg/5ee725f4097eb3ce01740034.jpg

如果输出一样的内容,就是循环几次输出几次

http://img.mukewang.com/climg/5ee7262a099a549303190090.jpg

http://img.mukewang.com/climg/5ee7263109c6170c01350045.jpg

不知道同学还有哪里不理解,建议描述具体一些,便于帮助解决。

祝学习愉快!

0
hq_久坠深海_0
h 就是我对for(i=0;i<input.length;i++)这里不太理解,这里的i等于0时不是判断第一个输入的中是不是草字嘛,然后在判断第二个以此类推,那为什么当输出input时就会根据输入了几次就整体都打印了好几次呢。真不太明白 比如用户输入的是:我要吃草。然后直接输出input就是四次我要吃草。就不明白为什么是整句话循环了四次,不是应该就这四个字做了四次循环验证吗。老师麻烦你和我讲讲。
h020-06-15
共1条回复

好帮手慕星星

2020-06-14

同学你好,在for循环中输出内容,循环一次就会输出一次(不在判断中),所以输入的内容长度是多少,就会有几次input输出。

祝学习愉快!

0
hq_久坠深海_0
h 那为什么这样就不会呢 for(i=1;i<9;i++){ document.write(i); } 就有些头痛
h020-06-15
共1条回复

好帮手慕星星

2020-06-14

同学你好,测试代码效果如下:

http://img.mukewang.com/climg/5ee5d9a209251a8606270069.jpg

有两次输出,input变量接收的是输入的内容,还有第一次找到草字的输出。

当前编程练习不需要输出input,参考完善:

http://img.mukewang.com/climg/5ee5de4309281c5e08290568.jpg

‘老师为什么这里不能直接用打印input呢 ’不太明白同学这句话什么意思,建议描述具体一些,便于帮助解决。

祝学习愉快!

0
hq_久坠深海_0
h 就是说为什么直接打印 document.write(input);是把输入的内容打印了多次呢?不太理解
h020-06-14
共1条回复

0 学习 · 40143 问题

查看课程