问答详情
源自:9-11 访问兄弟节点

上面给X赋了那么多的取值,取值时不影响吗啊???为什么?

这节课是看明白了。但上面有那么多"x"值,   难道不影响“var y=get_nextSibling(x);”中的X的取值吗,或者其他X的取值吗?

提问者:快乐崇拜tager 2016-03-24 12:38

个回答

  • aid123321
    2016-04-01 14:43:43

    不影响的,function get_nextSibling(n){函数体 }

    里面定义的变量x   并给x赋的值,只在这个函数里面有用,不能出这个函数,相当于局部变量。当局部变量和全局变量命名一样时,在局部里面,局部变量会把全局变量给覆盖掉。大括号外面的{   }  var  定义的x   是全局变量,和function get_nextSlibling(n){      }这个函数没任何关系,只有用到这个函数时间,比如这里http://img.mukewang.com/56fe148d0001cf1e03950192.jpg,var y=get_nextSibling(x);用到这个函数了,才把全局定义的x值 var x=document.getElementsByTagName("li")[1];这个x值,传递给n ,在通过函数定义的var  x=n.nextSibling;传递给函数里面的x,所以取值没任何影响的!

    一个直观的 例子 :

    <script>  

       var a =1;  

       function test(){  

          alert(a);  //---------这里出来的结果是,undefined,因为函数里面刚开始没给a赋值;

          var a = 2;  

          alert(a);  

       }  

       test();  

       alert(a);  

    </script>  

    这个例子你运行一下,结果是:undefined,2,1;

  • recying5566
    2016-03-29 17:39:50

    因为你没有学习“局部变量”和“全局变量”,学过你就明白了!

  • 纪行川
    2016-03-25 10:46:22

    X是变量,var y=get_nextSibling(x),是让变量x代替函数中n的位置,并执行get_nextSibling()这个函数,我的理解是这样