var Person = function(arg) {
var name = arg ? arg : 'devjones';
this.getName = function() {
return name;
}
this.setName = function(arg) {
name = arg;
}
};
var me = new Person();
console.log(me.getName());
me.setName('grindman');
console.log(me.getName());
console.log(me.name); // undefined
var ArrCreate = function(arg) {
var arr = [1,2,3];
return {
getArr: function() {
return arr;
}
}
};
var obj = ArrCreate();
var arr = obj.getArr();
arr.push(5);
console.log(obj.getArr()); // [1,2,3,5]
var Person = function(arg) {
var name = arg ? arg : 'devjones';
return {
getName: function() {
return name;
},
setName = function(arg) {
name = arg;
}
}
};
var me = Person();
console.log(me.getName());
위 코드는 Person 객체의 프로토타입에 접근할 수 없다.
접근하려면 객체가 아닌 함수를 반환하자.
var Person = function(arg) {
var name = arg ? arg : 'devjones';
var Func = function() {}
Func.prototype = {
getName: function() {
return name;
},
setName: function(arg) {
name = arg;
}
};
return Func;
};
'자바스크립트' 카테고리의 다른 글
객체지향 프로그래밍(5): subClass (0) | 2022.04.17 |
---|---|
객체지향 프로그래밍(3) : 클래스기반 상속 (0) | 2022.04.17 |
객체지향 프로그래밍(2) : 프로토타입 상속 (0) | 2022.04.17 |
객체지향 프로그래밍(1) (0) | 2022.04.17 |
ORM 활용 (0) | 2022.04.10 |