关于定义全局变量的问题

来源:3-5 显示和隐藏(display属性)

一只特立独行的doge

2016-04-08 14:53

我在想,如果每个函数都把mychar定义一次,可能有些代码重复,能不能把mychar在head里面定义为全局变量,但是由于网页解析是从上至下的解析,也就是如果先定义mychar,mychar就会变成一个null,那我想能不能用window.onload来让网页加载完之后再定义mychar,但是,这时候,mychar是不是作用于全局的呢?而且,关于window.onload该怎样写呢?哪位大大给点解释!

写回答 关注

2回答

  • mv0810
    2016-04-08 15:20:07
    已采纳
    <body>
        <h1>JavaScript</h1>
        <p id="con">做为一个Web开发师来说,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具。</p>
        <form>
            <input type="button" onclick="hidetext()" value="隐藏内容" />
            <input type="button" onclick="showtext()" value="显示内容" />
        </form>
        <script type="text/javascript">
        // window.onload=function(){ //window.onload的写法
            var mychar = document.getElementById("con");
    
            function hidetext() {
                mychar.style.display = "none";
            }
    
            function showtext() {
                mychar.style.display = "block";
            }
        // }
        </script>
    </body>

    定义全局变量只要把var mychat 提到函数外面。

    【由于网页解析是从上至下的解析,也就是如果先定义mychar,mychar就会变成一个null】

    我的话,除了要预加载的写在head里,一般会把 js 放置在body之前。

    【能不能用window.onload来让网页加载完之后再定义mychar】

    在此不可行。

    mv0810 回复一只特立独行...

    对的,结束的</body>前面

    2016-04-08 15:38:32

    共 2 条回复 >

  • 一只特立独行的doge
    2016-04-08 15:40:43

    噢噢噢!嗯谢了!这样确实比放head里好多了!

JavaScript入门篇

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

739814 学习 · 9566 问题

查看课程

相似问题