我的为什么结束不了?

我的为什么结束不了?

<!DOCTYPE html>

<html>

<head>

    <meta charset="UTF-8">

    <title>信息录入</title>

</head>

<body>

    <input type="button" value="录入" >

    <script type="text/javascript">

    var inputs=document.getElementsByTagName("input");

    var entry=inputs[0];

    entry.onclick=entryFn;

function entryFn(){

     //补充代码

     var arr=[],i=0;

     while(arr[i]!='-1'){

          arr[i]=prompt('请输入员工姓名');

          i++;

     }

     arr.pop();

     for(var j=0;j<arr.length;j++){

         document.write('录入的第'+(j+1)+'个员工信息是:'+arr[j]+'<br/>');

     }

}

</script>

</body>

</html>


正在回答

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

2回答

同学你好,同学可以先不用管arr[arr.length-1]是arr[0]还是什么,这样写是符合语法规范的,只是显示不出来值而已。因为我们要判断的是最后一次输入的是不是-1,只要输入内容,就会放到数组里面,那么就可以直接对arr[arr.length-1]进行判断。

同学再理解一下。

祝学习愉快~

好帮手慕粉 2020-03-05 09:42:25

同学你好,因为在将数据录入arr[i]中以后,同学又执行了i++,所以在进入下次循环的时候,就不是之前的i了,是自加一以后的i:

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

如果我的回答帮助了你,欢迎采纳,祝学习愉快~

  • 提问者 Aurora_Meteor #1
    这样的话是不是一开始的时候,arr是一个空数组,所以arr.length为0,所以arr.length-1为-1,arr[arr.length-1]就是arr[0]还是多少呢?因为数组第一项未定义所以它自然就不等于'-1'了。之后给数组的第i项放入用户输入的信息,虽然i自加一了,但是判断的arr.length-1实际上是数组的最后一项,这个和i的值无关,然后就只是判断当前输入的信息是不是'-1'?
    2020-03-05 10:27:31
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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