在函数中声明的变量

javascript语言中,在函数中声明的变量在函数执行进行一创建,当函数执行完毕的时候就会被销毁掉。

<script>
        function getName () {
    
    
            var name = "凡夫俗子";
            console.log("函数体访问",name)
        }
        getName()
       ert(name)
    </script>

变量name是在函数中使用var定义的。当函数被调用时,就会创建该变量并为其赋值。而在此之后,这个变量又会立即被销毁,因此例子中的下一行代码就会导致错误。
在这里插入图片描述
在这里插入图片描述

不过,可以像下面这样省略var操作符,从而创建一个全局变量:

  function getName () {
    
    
            name = "凡夫俗子";
            console.log("函数体访问",name)
        }
        getName()
        alert(name)

在这里插入图片描述
在这里插入图片描述
虽然省略var操作符可以定义全局变量,但这也不是我们推荐的做法。因为在局部作用域中定义的全局变量很难维护,而且如果有意地忽略了var操作符,也会由于相应变量不会马上就有定义而导致不必要的混乱。给未经声明的变量赋值在严格模式下会导致抛出ReferenceError错误

猜你喜欢

转载自blog.csdn.net/weixin_43131046/article/details/115238480