永不销毁的执行空间

137 阅读1分钟
     *  永不销毁的执行空间
     *      1. 正常书写一个函数
     *      2. 在这函数内 向外返回一个 引用数据类型
     *      3. 当满足上述条件时, 这个函数的执行空间将不会被销毁
        function fn() {
            // var a = 100
            const obj = {
                name: 'fn函数的name',
                age: '不知道'
            }

            return obj
        }

        // 变量 newObj 内部保存着 fn 函数中声明的一个对象 obj 的地址, 所以 fn 函数就不会被销毁掉, 如果销毁了, 那么对象也就无法访问了
        const newObj = fn()
        console.log(newObj)

        // 将 newObj 的值修改后就与函数内部的对象切断了联系, 那么这个函数的执行空间就会被销毁
        // newObj = null