作用域:scope

本文详细介绍了JavaScript中的作用域概念,包括全局作用域、局部作用域和ES6引入的块级作用域。讨论了var、let和const的区别,强调了var的变量提升和let的块级作用域特性。同时,阐述了作用域链的概念,以及如何在不同作用域层级间访问变量。最后,通过代码示例展示了作用域在实际编程中的应用。
摘要由CSDN通过智能技术生成

全局作用域:全局变量

es5:在function与object中生成作用域

es6:在所有带{}中生成作用域:

function(){}    if(){}  for(){}     while(){}

自由变量:在当前作用域调用了当前作用域不存在的变量(逐级寻找)//就近原则

顶级作用域:一级作用域

常见的作用域场景:

全局作用域

局部作用域:块级作用域 es5不支持块级作用域

es6 块级作用域

var:

1、定义变量支持重复定义

2、导致变量提升

3、不支持块级作用域

let:

1、变量无法重复定义

2、阻止变量提升

3、支持块级作用域

声明常量(存储数据):

const(一旦赋值,无法变更)//大驼峰命名

const Navber = "<div></div>"
console.log

<script>
//顶级作用域(父作用域)   
    var x = ""//全局变量
    
    function fn(){
        //局部作用域:二级作用域(子作用域)
        var a = 123;//局部变量
        function aa(){
            //局部作用域:三级作用域(子作用域)
            
        }
    }
</script>

子作用域获取父级作用域的全部代码段

父作用域无法读取子作用域的代码段

作用域链:scope chain

用来描述作用域与子作用域之间的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值