函数放到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的区别
微信小程序重写onLoad函数,让每个页面在运行的时候都可以执行某个代码
我在jsp里面 一个button 里面定义一个onclick事件 但是 调用方法时候 要是有括号就会onload 不写括号就不