为了账号安全,请及时绑定邮箱和手机立即绑定

关于定义全局变量的问题

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

正在回答

2 回答

<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】

在此不可行。

0 回复 有任何疑惑可以回复我~
#1

一只特立独行的doge 提问者

直接把js放在body之中吗?
2016-04-08 回复 有任何疑惑可以回复我~
#2

mv0810 回复 一只特立独行的doge 提问者

对的,结束的</body>前面
2016-04-08 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于定义全局变量的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信