问答详情
源自:3-6 控制类名(className 属性)

变量mychar在函数modifyclass外面怎么回事?

如下代码中我凌乱了,关于执行顺序,关于变量位置

html加载逐行解释,解释到onclick时会怎样?

onclick用户没有点击,继续往下逐行解释script,告诉浏览器有mychar变量,有modifyclass函数,

onclick用户点击后,执行modifyclass函数,此时直接使用mychar变量,是因为mychar是全局变量 吗还是怎么解释??

小白学js,还请热情网友帮忙一下

不知道我描述清楚我的问题了没


http://img.mukewang.com/57712bdf0001c97f07980838.jpg

提问者:凉粉拉面 2016-06-27 21:42

个回答

  • 阿皎就是茕兔丶
    2016-06-29 15:27:11

    的确,示例中的代码效果不能实现呀

  • weibo_叶上倾_03521069
    2016-06-28 21:59:11

    我跟你有一样的疑惑,然后我自己打代码验证发现确实是给的例子代码写错了,根本执行不出那个结果,html是按照代码编写的先后顺序执行的(函数调用除外),例子中函数调用在前,但是它所使用的变量却没有经过声明,这是错的.我更改过的代码可以运行出来,你可以参考一下:

    <html>

    <head>

    <meta charset="utf-8">

    <title>className属性</title>

    <style type="text/css">

      input{font-size:10px;}

      .one{width:200px;background-color: #ccc;}

      .two{font-size:18px;color:#F00;}

    </style>

    </head>

    <body>

      <p id="con" class="one">javascript</p>

       <script type="text/javascript">

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

      document.write("p元素的class值为:"+mychar.className+"<br /");

      function change(){

        mychar.className="two";}

      </script>

      <form>

        <input type="button" value="点击更改" onclick="change()">

      </form>

    </body>

    </html>


  • 慕粉3501330
    2016-06-27 21:53:24

    因为mychar实在函数外定义的全局变量,已经获得啦,所以可以在函数中直接调用