function celebrityID() {
	    var celebrityID = 999;
	    // 우리는 몇개의 내부 함수를 가진 객체를 리턴할것입니다.
	    // 모든 내부함수는 외부변수에 접근할 수 있습니다.
	    return {
	        getID: function() {
	            // 이 내부함수는 갱신된 celebrityID변수를 리턴합니다.
	            // 이것은 changeThdID함수가 값을 변경한 이후에도 celebrityID의 현재값을 리턴합니다.
	            return celebrityID;
	        },
	        setID: function(theNewID) {
	            // 이 내부함수는 외부함수의 값을 언제든지 변경할 것입니다.
	            celebrityID = theNewID;
	        }
	    }
	}
	var mjID = celebrityID(); // 이 시점에, celebrityID외부 함수가 리턴됩니다.
	mjID.getID(); // 999
	mjID.setID(567); // 외부함수의 변수를 변경합니다.
	mjID.getID(); // 567; 변경된 celebrityID변수를 리턴합니다.


	var mjID2 = celebrityID(); // 이 시점에, celebrityID외부 함수가 리턴됩니다.
	mjID2.setID(888);

	console.log( mjID2.getID() ) ;
	console.log( mjID.getID() ) ;

'프로그래밍 > javascript' 카테고리의 다른 글

[jQuery] 속성, 내용, 스타일, 데이터 조회 및 변경  (0) 2018.04.05
callback 간단예제  (0) 2018.03.06
js 캡쳐  (0) 2018.03.05
highcharts 예제  (0) 2018.03.05
jQuery ajax  (0) 2018.02.28

+ Recent posts