为什么两个函数都要声明mychar?

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

aiyayo

2016-06-11 18:53

mychar分两次声明和一次性声明的图,我已经试过一次性声明,是错的。但是为什么呢?想不明白

575bed9500013a6c04910391.jpg

575bed960001042504800410.jpg


写回答 关注

4回答

  • 啊啊啊啊123
    2016-06-18 10:24:37
    已采纳

    <!DOCTYPE HTML>

    <html>

    <head>

    <meta http-equiv="txttent-Type" txttent="text/html; charset=utf-8" />

    <title>javascript</title>

    <style type="text/css">

    body{font-size:12px;}

    #txt{

        height:400px;

        width:600px;

    border:#333 solid 1px;

    padding:5px;}

    p{

    line-height:18px;

    text-indent:2em;}

    </style>

    </head>

    <body>

      <h2 id="con">JavaScript课程</H2>

      <div id="txt"> 

         <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>

            <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>

            <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>

            <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>

      </div>

      <form>

      <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->

        <input type="button" value="改变颜色" onClick="changeColor()">  

        <input type="button" value="改变宽高" onClick="changeSize()">

        <input type="button" value="隐藏内容" onClick="hidetext()">

        <input type="button" value="显示内容" onClick="showtext()">

        <input type="button" value="取消设置" onClick="resettext()">

      </form>

      <script type="text/javascript">

       var myh = document.getElementById("con");

        var mydiv = document.getElementById("txt");

    //定义"改变颜色"的函数

    function changeColor(){

        mydiv.style.color="red";

        mydiv.style.backgroundColor="#ccc";

    }


    //定义"改变宽高"的函数

    function changeSize(){

        mydiv.style.width="200px";

        mydiv.style.height="300px";

    }


    //定义"隐藏内容"的函数

    function hidetext(){

        mydiv.style.display="none";

    }


    //定义"显示内容"的函数

    function showtext(){

        mydiv.style.display="block";

    }


    //定义"取消设置"的函数

    function resettext(){

        var mychose = confirm();

        if(mychose==true){

           mydiv.removeAttribute("style");

        }

    }


      </script>

    </body>

    </html>


    啊啊啊啊12...

    这是最后一课的编程练习,这个里面把ID定义在外面为什么可以隐藏和显示。本节的例子却不行,想不通

    2016-06-18 10:26:17

    共 1 条回复 >

  • 慕侠6330644
    2016-08-18 15:13:25

      var mychar;

           function hidetext()  

    {  

    mychar = document.getElementById("con");

            mychar.style.display="none"

    }  

    function showtext()  

    {  

    mychar = document.getElementById("con");

            mychar.style.display="block"

    }

    var声明的变量是局部变量,但是你可先声明然后在函数里面赋值

  • y1n符丶
    2016-06-11 19:35:53

    局部变量,你只声明一个的话,下面的函数是无法调用这个变量的

    aiyayo

    你们说的情况是:我只在一个函数里声明它。但是我第一张图是把声明放在了两个函数之前,它难道不是最先被读取到,然后被用在两个函数中???

    2016-06-11 19:58:42

    共 1 条回复 >

  • Nalvy
    2016-06-11 19:34:01

    局部变量

    啊啊啊啊12... 回复aiyayo

    遇到相同的问题就进来求解啦,我也只是突然发现写在head和body里不同而已,什么原因就不知道了

    2016-06-20 21:55:26

    共 4 条回复 >

JavaScript入门篇

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

739814 学习 · 9566 问题

查看课程

相似问题