functiontest(){letname='init';functiongetName(){returnname;}functionsetName(newName){name=newName;}return{getName:getName,setName:setName,name:name}}lett1=test();t1.setName('liujiapeng')console.log(t1.getName())//liujiapengconsole.log(t1.name);//init為什么t1.name不能打印出修改后的值呢,我的理解是因為有閉包,因此t1創(chuàng)建的test上下文沒有彈出,get和set函數(shù)中的name都是該上下文中的name。那為啥直接把name返回出去獲取不到最新的值咧。小白上路,望大神指導(dǎo)~
關(guān)于閉包的問題大佬們有什么好的建議?
函數(shù)式編程
2019-09-05 19:31:14