只有第一次调用才执行的函数写法| 作用域闭包

var sourceData = {
    userList:[{name:'liujinyu',age:30},{name:"zhangsan",age:20}]
}

var getInfo = () => {
    const {userList} = sourceData;

    const __info= {};
    
    userList.forEach(({name,age}) => {
        __info[name] = age;
    });
    getInfo = () => __info;
    return __info;
}

console.log(getInfo())
//但是还是能改写getInfo()的返回值
getInfo().lisi = 40

 

posted @ 2020-07-13 21:27  刘金宇  阅读(216)  评论(0编辑  收藏  举报