JavaScript函数作用域

    xiaoxiao2025-02-15  33

    1、什么是作用域?

    规定了我们定义的变量在某些范围下才能生效的规则

    2、有哪些作用域?

    全局作用域 & 函数作用域 & 块级作用域

    全局作用域:在当前文件中的所有函数,块中都有效,不管let还是

    函数作用域:只在某个函数里面有效,不管是var或者let都可以

    块级作用域:只在if判断、for循环等语句里面有效,需要使用let关键字声明

    全局作用域:在当前文件中的所有函数,块中都有效

    函数作用域:只在某个函数里面有效,不管是var或者let都可以

     

    块级作用域:只在if判断、for循环等语句里面有效,需要使用let关键字声明

     3、关于let的一些说明

    let声明的变量具有块级作用域let声明的变量不允许重复声明let声明的变量不会进行变量提升

    4、注意事项

    在es5里面,变量作用域只分为两种类型,一种是“全局作用域”,一种是“函数作用域”。在es6里面才拥有块级作用域,即if判断、for循环等语句都有自己独立的作用域

    5、不同作用域变量的访问问题

    访问优先级:里层能访问外层,外层不能访问里层

     块级能访问局部,局部能访问全局,全局不能访问局部,局部不能访问块级

    访问变量时,先在当前作用域查找,然后在去上层作用域查找

    最新回复(0)