2011-02-13 8 views

답변

5

그것은 getter 정의

은 그 속성이 조회 될 때 호출 될 함수에 객체 속성을 바인딩합니다.

Getters and Setters에 대해 읽으십시오. 당신이 재산에 액세스 할 때이 함수가 호출

:이 함수 호출이 하지 것을

var sth = obj.currentState 

공지 사항 (가 더 () 없습니다)하지만 일반 속성 액세스 할 수 있습니다.

과 같을 것이다 setter 해당 :

set currentState(value) { 
    // do something with value 
    // value would be 42 in the next example 
} 

을하고 해당 속성에 값을 할당 할 때 호출됩니다, 예를 들어,

obj.currentState = 42; 

getset 특별한 운영자가 객체 리터럴 표기법 내에서 사용되는 키워드. 또한 __defineGetter____defineSetter__을 사용할 수

Parser.prototype.__defineGetter__('currentStatus', function() { 
    return this.state[this.state.length - 1]; 
}); 

나는, 모든 브라우저에서 지원되지 않을 수 있습니다 그것이 비록 도입 된 버전에서 확실하지 않다) (특히 IE).

+3

ECMAScript 5에서 소개되었으며, IE9는 기능성 ES5 엔진이 탑재 된 최초의 브라우저입니다. – user123444555621

관련 문제