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

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

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

正在回答

3 回答

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

里面定义的变量x   并给x赋的值,只在这个函数里面有用,不能出这个函数,相当于局部变量。当局部变量和全局变量命名一样时,在局部里面,局部变量会把全局变量给覆盖掉。大括号外面的{   }  var  定义的x   是全局变量,和function get_nextSlibling(n){      }这个函数没任何关系,只有用到这个函数时间,比如这里http://img1.sycdn.imooc.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;

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

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

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

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

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

举报

0/150
提交
取消

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

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