为了账号安全,请及时绑定邮箱和手机立即绑定

关于javascript变量作用域的问题

关于javascript变量作用域的问题

夏天的夏7 2016-12-06 10:12:04
这是一段声称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>
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 1165 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信