조금 혼란 스럽습니다. 여기에 JS 코드가 있습니다 :var 변수를 선언 할 때와 자기를 사용할 때
(function(){
var self = this;
var view = 12;
self.value = null;
....
});
나는 var 변수를 사용하여 이해 = 12 뷰 변수에 대한 로컬 범위를 만듭니다. 그러나 self.value도 값 변수의 "로컬"범위를 만들지 않습니까? 그렇다면 차이점은 무엇입니까, 아니면 뭔가 빠져 있습니까?
'self.value = ... '는 단순히'self' ('this')가 참조하는 객체에 ** 속성 **을 생성합니다. 변수와 속성은 두 개의 다른 짐승입니다. 당신이 여기에서 비교하기를 원하는지 확실하지 않습니다. –
감사합니다. Felix, 저는 JS에 newb입니다. 답을 읽은 후 PHeonix가 아래에 있고 링크가 제공되면 diff를 이해합니다. 알았다 ! – nanonerd
함수를 생성자로 사용할 수 있습니다. this.something은 인스턴스 특정 멤버이며 생성자 프로토 타입의 멤버는 인스턴스간에 공유됩니다. var로 선언 된 멤버는 개인 멤버를 시뮬레이트하기 위해 클로저에서 사용할 수 있습니다. 모두 여기에 설명되어 있습니다 : http://stackoverflow.com/questions/16063394/prototypical-inheritance-writing-up/16063711#16063711 – HMR