"private 필드"를 외부 세계로 반환 할 때 드러난 모듈 패턴으로 인해 매우 혼란 스럽습니다. 나는 결과에 의해 혼란스러워했다자바 스크립트 공개 모듈, private 필드 반환
var vm2 = (function(){
var
name = 'sean',
changename = function(v){
this.name=v;
};
return {
name: name,
foo: name,
changename:changename
};
}());
vm2.changename('jasper');
console.log(vm2.name);
console.log(vm2.foo);
여기 는 vm2.name는 '재스퍼'vm2.foo 여전히 '숀'동안, 누군가가 내가 그것을 이해하는 데 도움이이며, 코드인가?
왜 "foo"가 변경 될 것이라고 생각하십니까? – Pointy
@Pointy 네, "this", "name"foo가 가리키는 "name"changename이 바뀌지 않았습니다. 응답이 정확합니다. 다시 감사합니다. – Sean