Проблемы с пониманием создания объектов из классов, содержащихся в частных замыканиях - PullRequest
0 голосов
/ 26 мая 2020

Я студент, только начинающий, и у меня повторяющаяся борьба с доступом / запуском объекта, созданного с помощью класса, из замыканий. Я задумал asp идею объектов, созданных классом, но в тот момент, когда они оборачиваются закрытым закрытием, что-то теряется при переводе для моего мозга.

Я знаю, что моя проблема с пониманием этого должна быть простой. Мне просто нужна небольшая помощь извне.

У меня два сценария ios.

СЦЕНАРИЙ 1: Результаты: женщина {возраст: 20, оценка: «B», класс: «второкурсник»}

//WORKING SCENARIO #1
var Woman = function(a, b, c){
        this.age = a;
        this.grade = b;
        this.class = c;
}

var diana = new Woman(20, 'B','sophomore');
console.log(diana);
//END WORKING SCENARIO

СЦЕНАРИЙ 2: Результаты: женщина {возраст: undefined, оценка : undefined, класс: undefined}

//WHAT I'M STRUGGLING WITH
var privateOne = (function(a,b,c){

    var Woman = function(a, b, c){
        this.age = a;
        this.grade = b;
        this.class = c;
    }

    var person = new Woman(a,b,c);

    return {
        showWoman : function(d,e,f){
            return person;
        }
    }

})();

var mary = privateOne.showWoman(20, 'B','sophomore');
console.log(mary);
//END WHAT I'M STRUGGLING WITH

1 Ответ

1 голос
/ 26 мая 2020

Похоже, вам нужно создать экземпляр Woman при вызове showWoman:

var privateOne = (function(a,b,c){
    var Woman = function(a, b, c){
        this.age = a;
        this.grade = b;
        this.class = c;
    }

    return {
        showWoman : function(a, b, c){
            return new Woman(a, b, c);;
        }
    }
})();

var mary = privateOne.showWoman(20, 'B','sophomore');
console.log(mary);
...