javascript中关于函数中赋值的疑问

<script type="text/javascript">

        var str1="b";

        function test(){

            alert(str1); 

            var str1 = "c";

        }

        test();

</script>

对于上面这段代码,为什么单单var str1 = "c"就会使得str1的值为undefined呢?
主要的疑惑和请教:

  • alert(str1)语句位于var str1 = "c"之前,为什么会受它的影响呢?

  • 此过程中全局变量str1发生了什么变化?


肥皂起泡泡
浏览 518回答 1
1回答

喵喔喔

参考这里的变量声明提升部分
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript