栈内存的销毁

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    // 栈内存: 作用域都是栈内存;
    // 栈内存的回收伴随着作用域的销毁;
    // 栈内存的回收
    // 全局作用域一旦销毁,全局作用域所提供的环境以及存储的基本数据类型值都会随之销毁;
    //var a = 1;
    // 1. 全局作用域一个页面只有一个;属于不销毁的作用域;
    // 当关闭当前页面或者关闭浏览器,全局作用域就会随着销毁;

     
    // 立即销毁作用域
    /*function fn() {
        console.log(10);
    }
    for (var i = 0; i < 1000; i++) {
        fn();
    }*/

    /*var t = 10;
    function fn() {
        // 形成作用域
        var t = 100;
        return function () {
            console.log(t);// 100
        }
    }
    fn();
    var f = fn();// f 占用了fn的返回值;占用了fn执行return出小函数的空间地址;
    f();*/// 当f执行时,会输出结果100;说明fn所形成的作用域没有销毁;
    // 不销毁作用域需要满足的条件:
    //1. 函数需要return一个引用的数据类型
    //2. 函数返回值要被外界接收

    // 3.不立即销毁的作用域

    var t = 10;
    function fn() {
        var t = 100;
        return function () {
            console.log(t);// 100
        }
    }
    fn()();
    // 这样的作用域不立即销毁,会等到里面的小函数执行完成之后,然后立即销毁;
</script>
</body>
</html>
复制代码
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值