나는 clojure를 통해 javascript에서 private 변수를 만드는 방법을 궁금해했다. 그러나 Object.create을 사용할 때 여전히 복제해야합니다. 자바 개인 변수 + Object.create (클로저 변수에 대한 참조)
var point = {};
(function(){
var x, y;
x = 0;
y = 0;
Object.defineProperties(point, {
"x": {
set: function (value) {
x = value;
},
get: function() {
return x;
}
},
"y": {
set: function (value) {
y = value;
},
get: function() {
return y;
}
}
});
}());
var p1 = Object.create(point);
p1.x = 100;
console.log(p1.x); // = 100
var p2 = Object.create(point);
p2.x = 200;
console.log(p2.x); //= 200
console.log(p1.x); //= 200
나는
http://ejohn.org/blog/ecmascript-5-objects-and-properties/에서이 기술을 가지고 있지만 폐쇄 변수는 모든 객체에 동일이 제한을 얻었다. 자바 스크립트 에서이 동작을 알고 있지만 어떻게 사실 개인 변수를 만들 수 있습니까?
자동 생성 보이는이 코드가 테스트되었습니다? – Raynos
아니, 왜 자동 생성 된 것 같지 않은가요? – automaticoo
개인 변수가없는 대안으로 http://jsfiddle.net/heera/G9E9m/ –