亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

大佬們遇到過這個問題嗎?關于閉包的問題

大佬們遇到過這個問題嗎?關于閉包的問題

大話西游666 2019-09-08 21:54:22
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創建的test上下文沒有彈出,get和set函數中的name都是該上下文中的name。那為啥直接把name返回出去獲取不到最新的值咧。小白上路,望大神指導~
查看完整描述

2 回答

?
慕無忌1623718

TA貢獻1744條經驗 獲得超4個贊

閉包是一個函數,它hold住了外層函數作用域的變量。這樣只要你引用了這個函數,那他hold的變量就會延遲釋放。
你這返回的是個對象,不能算閉包。
                            
查看完整回答
反對 回復 2019-09-08
  • 2 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號