函数放到onload里面,在html里面执行函数会报错-----作用域和闭包相关问题

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>修改显示隐藏</title>
<meta name="description" content="">
<meta name="keywords" content="">
<link href="" rel="stylesheet">
<style>
.center{width: 300px;height: 300px;border:1px solid #ccc;left:50%;margin-left: -150px;top:50%;margin-top: -150px;position: absolute;display: none;}
</style>
<script>
/*window.onload=function(){*/
    /*加了onload页面就会报错*/
    function show(){
        var oDiv=document.getElementById('box');
        oDiv.style.display='block';
    }
    function hide(){
        var oDiv=document.getElementById('box');
        oDiv.style.display='none';
    }
/*}*/
    

</script>
</head>
<body>
    <input type="button" value="弹出" onclick="show()">
    <div class="center" id="box">
        wefweofjpjfoiwe
        <input type="button" value="隐藏" onclick="hide()">
    </div>
</body>
</html>

你是将里面的函数写成了onload事件的一个内函数。那么里面的函数就是一个闭包。在全局上是找不到这个函数的,click找不到里面的函数,怎么执行?
理解作用域和闭包。

衣带渐宽终不悔,为伊消得人憔悴,憔悴半天也没用,还是努力起来人富贵
原文地址:https://www.cnblogs.com/zhangjingyun/p/5342133.html