问答详情
源自:1-7 JavaScript-什么是变量

关于全局变量和局部变量的问题,求大牛解释下,谢谢


var i = 'yuanjianhang';

function myloveName() {

  alert(i);

 i = 'guanxi';

}

myloveName();

这段代码的输出是undefined,但是不明白为什么,把 i = 'guanxi';删除就好了,但是不理解为什么,代码执行到alert的时候不是应该输出上面定义的全局变量么?求大神解释下

提问者:Geek喜多川 2016-11-05 17:23

个回答

  • qq_Theskyisthel_0
    2016-11-05 17:41:22
    已采纳

    代码是按顺序执行的

  • stone310
    2016-11-05 23:12:36

    为什么我执行是弹出yuanjianhang呢

    <!DOCTYPE HTML>
    <html>
    <head>
       <meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
       <title>javascript</title>
    </head>
    <body>
    <script type="text/javascript">
       var i = 'yuanjianhang';
       function myloveName() {
           alert(i);
           i = 'guanxi';
       }
       myloveName();
    </script>
    </body>
    </html>



  • 吃饭不用筷子
    2016-11-05 20:08:56

    但有区别,第二个必须先执行函数才能用,第一个随意用

  • 吃饭不用筷子
    2016-11-05 20:08:19

    这两个都是全局变量

  • 慕穆dfz
    2016-11-05 17:40:48

    我觉得定函数时并没有传入参数,上来就直接alert(),所以没有定义