鍍金池/ 問答/PHP  HTML/ js中閉包的特權方法是怎么實現的?

js中閉包的特權方法是怎么實現的?

完成工廠函數達到以下要求
·保存?zhèn)魅雲祅ame到一個私有變量中
·函數返回一個對象,且對象帶有一個特權方法getName,用于返回對象的私有變量name的值
如下所示:

var person = createPerson('Jero');
console.log('person.name);  //underfind
console.log('person.getName());  //Jero

剛開始學習閉包這個概念,不太理解特權方法這個概念,所以這個要怎么實現才能如上兩個console.log的輸出呢?
謝謝!

回答
編輯回答
執(zhí)念

function createPerson (name){

    //保存?zhèn)魅雲?name 到一個私有變量中
    var privateName = name;
    return {
        //返回對象的私有變量 name 
        getName : function getName(){
        return privateName;
        }
    }
}
var person = createPerson('Jero');
console.log(person.name); //undefined 
console.log(person.getName());//Jero
2018年3月11日 14:57
編輯回答
巴扎嘿

樓上正解。

建議題主不要追求這個問題的答案,那就舍本逐末了。好好把閉包的概念讀幾遍,理解了,做幾個練習,再來解決這個問題,就會覺得很容易。

2018年4月16日 05:17
編輯回答
焚音
function createPerson(name){
  return {
    getName:function(){
      return name
    }
  }
}
2018年8月12日 05:43