老师,charAt()找不到不是返回空字符串吗,为什么输入没有敏感字的时候没有用

老师,charAt()找不到不是返回空字符串吗,为什么输入没有敏感字的时候没有用

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

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

</head>

<body>

<script>

    function searchKey(inputWord){

        var length = inputWord.length;

        for(var i = 0;i<length;i++){

            var key = inputWord.charAt(i);

            if(key == "草"){

                document.write("敏感字“草”在"+i+"位置被发现<br />");

            }else if(key == ""){

                document.write("恭喜没有敏感字!");

            }

        }

    }

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

    searchKey(str);

    var firstIndex = str.indexOf("草");

    if(firstIndex != -1){

        document.write("敏感字“草”首次出现的位置是"+firstIndex);

    }

    

</script>

</body>

</html>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
山河远阔ZZ 2019-02-18 15:15:04

同学你好,这种是必须获取输入内容的长度,然后通过for循环来判断输入的每个字符的。

山河远阔ZZ 2019-02-18 09:47:07

同学你好,charAt()里面的值如果为负数,会返回一个空字符串,但是在代码中,for循环里面的i值不会是负数,所以没有敏感字的话效果是不实现的。

参考下图:

http://img1.sycdn.imooc.com//climg/5c6a0e5e0001bf2c11880521.jpg

可以测试一下,如果帮助到了你,欢迎采纳。

祝学习愉快!

  • 提问者 慕用4481019 #1
    那老师,如果不知道字符串的长度,让charAt()无限循环读取,读到最后就不读了,要用什么判定呢
    2019-02-18 12:56:29
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师