没有懂这组代码的意思

来源:2-12 编程练习

Ting111

2019-06-03 19:16:28

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>统计员工工资</title>
    </head>
    <body>
    <script>
       var input, arr=[];
       while(input!="退出"){
           input=prompt("请输入工资");
           arr[arr.length]=input;
           arr.length-=1
           document.write(arr);
       }  
    </script>
    </body>
</html>


写回答

4回答

好帮手慕星星

2019-06-09

你好,通过length长度当做数组索引来存取数组。

执行过程:

开始input没有值,与‘退出’不相等,就会进入while循环,然后弹框输入内容,如果输入的内容是‘111’,arr数组开始没有值,那么arr.length的长度就是0,也就是arr[0]=111,那么数组中就会有一个值111 。后面如果数组长度减去1的话,arr.length的长度就是0,数组中没有值,输出arr就是空。

然后判断111与退出不相等,继续循环接收内容,如果弹框接收的是‘退出’,arr[0]=‘退出’,arr.length-1=0,输出arr还是没有值。

然后再循环判断相等,就不会进入while循环,最终页面中什么内容也没有。

如果同学还有不明白的地方可以继续提问,祝学习愉快!

0

好帮手慕言

2019-06-09

同学你好 ,在用户没有输入内容之前数组的length是0,

所以arr[0]= 用户第一次输入的内容,

在用户输入一次之后,数组的length就是1,所以在下次输入时

arr[1]= 用户第二次输入的内容,

依此类推。arr.length就相当于一个索引值,把用户输入的内容放在数组的第几位。

如果帮助到了你,欢迎采纳,祝学习愉快~


0

Miss路

2019-06-07

同学,你好。

length是长度,因为我们最后还输入了一项“退出”,这个输入也是会加到数组中的,但是我们实际上是不要这一项的,那么就可以通过把数组的长度减掉1,从而把最后这一项给去掉。

如果帮助到了你,欢迎采纳!

祝学习愉快!


0
hing111
h 我是说arr【arr.length】这个地方的length,这里应该是用来保存工资的啊
h019-06-07
共1条回复

好帮手慕言

2019-06-04

同学你好,因为在循环完之后数组里面才有“退出”这一项,所以arr.length-=1放在循环外面哦。

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

如果帮助到了你,欢迎采纳~祝学习愉快。


0
hing111
h 这个。length不是长度吗,不是要存工资吗,存个数干嘛
h019-06-07
共1条回复

0 学习 · 40143 问题

查看课程