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

来源:1-7 JavaScript-什么是变量

Geek喜多川

2016-11-05 17:23


var i = 'yuanjianhang';

function myloveName() {

  alert(i);

 i = 'guanxi';

}

myloveName();

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

写回答 关注

5回答

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

    代码是按顺序执行的

    Geek喜多...

    非常感谢!

    2016-11-06 09:08:21

    共 1 条回复 >

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



    慕娘5167...

    <script type="text/javascript"> var i = 'yuanjianhang'; 定义一个全局变量,并初始值 function myloveName() { alert(i); 在函数里直接调用全局变,并输入 i = 'guanxi'; 这个再赋值,没有输出,你想知道这个值的话再,再一个输出就可以了 } myloveName(); </script>

    2020-05-05 23:04:19

    共 1 条回复 >

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

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

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

    这两个都是全局变量

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

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

JavaScript入门篇

JavaScript做为一名Web工程师的必备技术,本教程让您快速入门

739814 学习 · 9566 问题

查看课程

相似问题