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

Posted zhangjingyun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数放到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找不到里面的函数,怎么执行?
理解作用域和闭包。

以上是关于函数放到onload里面,在html里面执行函数会报错-----作用域和闭包相关问题的主要内容,如果未能解决你的问题,请参考以下文章

body里面的onload和window.onload,window.load的区别

js 外部引用文件与 onload()函数的优先级

2Python里面mapreducefilter函数的使用

jquery 怎么用

微信小程序重写onLoad函数,让每个页面在运行的时候都可以执行某个代码

我在jsp里面 一个button 里面定义一个onclick事件 但是 调用方法时候 要是有括号就会onload 不写括号就不