js 玩

218 阅读1分钟
    function  a (){
        var a = {a:1,b:2}
        return {a:a,b:a};
    }
            
    var c = a()
    c.a.b =4;
    console.log(c); 

函数a中变量a指向的地址值对象不会随着函数a的执行完毕而销毁,,可能a的作用域销毁了,返回的数据对象已经保存了变量as所指向的对象在内存中的地址值,不知道js底层是怎么玩的,万物皆闭包哦~