• 函数放到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找不到里面的函数,怎么执行?
    理解作用域和闭包。

    衣带渐宽终不悔,为伊消得人憔悴,憔悴半天也没用,还是努力起来人富贵
  • 相关阅读:
    readonly const
    多线程的安全性
    【C++】operator运算符重载
    C++ 多态的实现及原理(转载)
    C语言宽字符处理函数对照表
    UTF8编码规则(转)
    PE文件结构(转)
    C语言中宏定义
    汇编语言移位指令
    数组指针应该结合二维数组多维数组来理解
  • 原文地址:https://www.cnblogs.com/zhangjingyun/p/5342133.html
Copyright © 2020-2023  润新知