我的为什么结束不了?

来源:2-14 编程练习

Aurora_Meteor

2020-03-04 19:03:30

<!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回答

好帮手慕粉

2020-03-05

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

同学再理解一下。

祝学习愉快~

0

好帮手慕粉

2020-03-05

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

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

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

0
hurora_Meteor
h 这样的话是不是一开始的时候,arr是一个空数组,所以arr.length为0,所以arr.length-1为-1,arr[arr.length-1]就是arr[0]还是多少呢?因为数组第一项未定义所以它自然就不等于'-1'了。之后给数组的第i项放入用户输入的信息,虽然i自加一了,但是判断的arr.length-1实际上是数组的最后一项,这个和i的值无关,然后就只是判断当前输入的信息是不是'-1'?
h020-03-05
共1条回复

0 学习 · 40143 问题

查看课程