定义一个对象

161 阅读1分钟

定义一个对象

1. 开辟一个空间地址
2. 把对象中的键值对放到堆内存中
3. 把这个空间地址赋值给变量名
    var obj = {
        num: 10,
        fn: (function () {
            // obj以键值对存储到堆内存时,是以fn:自执行函数的返回值存入;
            // 当存储键值对时,自执行函数执行,此时obj还没被赋空间地址;
            var num = 1;// 2  3  4
            return function (n) {
                console.log(n + (++num))
            }
        })()
    }
    console.log(obj);
    var f = obj.fn;
    f(10);// 12
    f(20);// 23
    obj.fn(30);// 34
    obj.fn(40);// 45