定义一个对象
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