首页 /  技术专区  /  JavaScript 宽屏模式 >

JavaScript作用域

1. 作用域

通常来说,一段程序代码中所用到的名字并不总是有效和可用的,而限定这个名字的可用性的代码范围是这个名字的作用域

作用域的使用提高了程序逻辑的局部性,增强了程序的可靠性,减少了名字冲突。

Image.png

全局作用域

全局有效,作用于所有代码执行的环境(整个 script 标签内部)或者一个独立的 js 文件。

局部作用域

局部有效,作用于函数内的代码环境,就是局部作用域。因为跟函数有关系所以也称为函数作用域。


在JavaScript中,根据作用域的不同,变量可以分为:

Image.png

全局变量

函数外部let 的变量,全局变量在任何区域都可以访问和修改。

局部变量

函数内部let的变量,局部变量只能在当前函数内部访问和修改。

<script>
    let num = 0     // 全局变量
    function fn() {
        let num = 0     // 局部变量
    }
</script>


变量有一个坑,特殊情况:

如果函数内部,变量没有声明,直接赋值,也当全局变量看,但是强烈不推荐

function fn() {
    num = 0
}
fn()
console.log(num)    // 0


但是有一种情况,函数内部的形参可以看做是局部变量。


变量访问原则

只要是代码,就至少有一个作用域

写在函数内部的局部作用域

如果函数中还有函数,那么在这个作用域中就又可以诞生一个作用域

访问原则:在能够访问到的情况下先局部, 局部没有在找全局




上一篇: JavaScript函数
下一篇: JavaScript对象

头像
0/200
图片验证码