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

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

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

575bed9500013a6c04910391.jpg

575bed960001042504800410.jpg


正在回答

4 回答

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


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

啊啊啊啊123

这是最后一课的编程练习,这个里面把ID定义在外面为什么可以隐藏和显示。本节的例子却不行,想不通
2016-06-18 回复 有任何疑惑可以回复我~

  var mychar;

       function hidetext()  

{  

mychar = document.getElementById("con");

        mychar.style.display="none"

}  

function showtext()  

{  

mychar = document.getElementById("con");

        mychar.style.display="block"

}

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

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

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

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

aiyayo 提问者

你们说的情况是:我只在一个函数里声明它。但是我第一张图是把声明放在了两个函数之前,它难道不是最先被读取到,然后被用在两个函数中???
2016-06-11 回复 有任何疑惑可以回复我~

局部变量

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

aiyayo 提问者

你们说的情况是:我只在一个函数里声明它。但是我第一张图是把声明放在了两个函数之前,它难道不是最先被读取到,然后被用在两个函数中???
2016-06-11 回复 有任何疑惑可以回复我~
#2

啊啊啊啊123 回复 aiyayo 提问者

突然知道了。这个script写在head标签里,要声明两个变量。script写在body里写在两个函数之前写一次就可以了
2016-06-18 回复 有任何疑惑可以回复我~
#3

aiyayo 提问者 回复 啊啊啊啊123

谢谢,我以为没人回复了
2016-06-20 回复 有任何疑惑可以回复我~
#4

啊啊啊啊123 回复 aiyayo 提问者

遇到相同的问题就进来求解啦,我也只是突然发现写在head和body里不同而已,什么原因就不知道了
2016-06-20 回复 有任何疑惑可以回复我~
查看1条回复

举报

0/150
提交
取消

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

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