$(document).ready(function() {
var patient = (function (options) {
var age = options.age;
var name = options.name;
function getName() {
return this.name;
}
function setName(val) {
name = val;
}
function getAge() {
return this.age;
}
function setAge(val) {
age = val;
}
return {
getAge: getAge,
setAge: setAge,
getName: getName,
setName: setName
}
})();
});
Я понимаю, что я никогда не передаю какие-либо варианты в моем примере здесь. Если я попытаюсь сделать что-то вроде patient.setAge('100')
, а затем console.log(patient.getAge())
Я получаю сообщение об ошибке cannot read property Age of undefined
. Основная тема, которую я пытаюсь найти, - это модуль, как я могу эмулировать константы для создания нового объекта пациента, сохраняя при этом всю доброту ООП частных переменных и весь этот джаз.Передача аргументов анонимной функции модуля
Я видел здесь несколько примеров конструкторов в модульном шаблоне, и я не очень хорошо их понял. Хорошо ли вообще иметь конструктор в модуле? Является ли его основная цель сходством с языками на основе классов?
Там нет конструктора здесь ... почему бы вам не просто использовать? Частные переменные переоценены. :) – Ryan
Я не уверен, как использовать конструктор внутри модуля - проблема, и мне интересно, как это сделать/если это действительно когда-либо необходимо или лучше. – wootscootinboogie
Я пытался имитировать конструктор с передачей в объекте опций (но, очевидно, я не совсем понял что-то правильно. – wootscootinboogie