请示老师2个问题
arr.push 感觉跟 arr+=z; 效果一样 头晕分不清楚了
不知道for循环是不是中邪了,显示2个郁闷
<!DOCTYPE html>
<html>
<head lang="en">
<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];
var arr=[];
entry.onclick=entryFn;
function entryFn(){
//补充代码
while(z!="-1"){
var z=prompt("请输入员工姓名!")
// arr.push(z);
arr+=z;
console.log(arr);
}
// arr.pop();
for(var i=0;i<z.length;i++){
document.write("第"+(i+1)+"个录入员工信息是:"+arr[i]+'<br>');
console.log("i是多少:"+i);
}
}
</script>
</body>
</html>
正在回答
同学你好,因为弹窗输入的内容是字符串,所以“-1”是一个字符串,有两个字符,即“-”和“1”,长度就是2。
祝学习愉快 ~
同学你好,问题解答如下:
arr.push(z)是在数组arr中添加元素z,而arr += z是进行加法运算,就相当于arr=arr+z 。z是一个字符串,所以会进行字符串拼接。可以输出一下arr:
arr.push(z)的效果,arr是一个数组,在它里面添加了两个元素
如果改成arr += z ,arr默认是空数组,空数组转换为字符串为空字符串,所以如下得出来的是一串字符串,arr就不是数组了
所以第二种语法是不对的,这样获取字符串中第一个字符“张”,第二个字符“三”。显示结果也就不对了。
2不知道同学说得第二个问题,是不是上面显示结果不对的问题。如果不是,可以详细说一下。另外,代码参考如下调整:
注意,因为循环中,是先弹出弹窗,后添加到数组。所以输出-1也会添加到数组中,最后才进入下一次循环,发现-1不符合条件退出循环。
如果我的回答帮助到了你,欢迎采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星