这是一段声称7位数随机数的代码;当var arr = [ ]; var newArr = [ ]; 这两个变量为全局变量的时候,每次触发点击事件,oDiv.innerHTML的结果都会在页面累加;但是当这两个变量为函数局部变量的时候,每次就可以只正常显示7个随机数。请大神解惑,谢谢啦~<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> window.onload=function(){ //获取元素input var oBtn = document.getElementById('btn'); //获取元素div var oDiv = document.getElementById('div1'); //声明两个空数组 /*var arr = []; var newArr = [];*/ //给按钮添加事件,执行函数randomNum。 oBtn.onclick = function(){ oDiv.innerHTML = randomNum(35,7); }; function randomNum(iAll,iNum){ var arr = []; var newArr = []; for(var i=1;i<=iAll;i++){ arr.push(i); // arr:1~35 } for(var i=1;i<=iNum;i++){ //获取7个随机数 var num = arr.splice(Math.floor(Math.random()*arr.length),1); newArr.push(num); } //返回包含7个随机数的数组 return newArr; }; }; </script></head><body><input id="btn" type="button" value="生成随机数"><div id="div1"></div></body></html>
添加回答
举报
0/150
提交
取消