> 웹 프론트엔드 > JS 튜토리얼 > 일일 JavaScript 학습 요약(속성 정의 방법)_javascript 기술

일일 JavaScript 학습 요약(속성 정의 방법)_javascript 기술

WBOY
풀어 주다: 2016-05-16 15:31:15
원래의
1399명이 탐색했습니다.

정의. 속성을 ​​정의하려면 다음과 같은 해당 기능을 사용해야 합니다.
Object.defineProperty(obj, "prop", propDesc)
obj에 자체 속성 prop이 없는 경우 이 함수의 기능은 자체 속성 prop을 obj에 추가하고 값
을 할당하는 것입니다. propDesc ​​매개변수는 속성의 특성(쓰기 가능성, 열거 가능성 등)을 지정합니다.
obj에 이미 자체 속성 prop이 있는 경우 이 함수의 기능은 해당 속성 값을 포함하여 기존 속성의 특성을 수정하는 것입니다.
1. 속성 정의 

 var book = {
   _year: 2004,
   edition: 1
  };
   
  Object.defineProperty(book, "year", {
   get: function(){
    return this._year;
   },
   set: function(newValue){
   
    if (newValue > 2004) {
     this._year = newValue;
     this.edition += newValue - 2004;
    
    }
   }
  });
  
  book.year = 2005;
  alert(book.edition); //2
로그인 후 복사

2. __defineSetter__ 및 __defineGetter__

 var book = {
   _year: 2004,
   edition: 1
  };
   
  //legacy accessor support
  book.__defineGetter__("year", function(){
   return this._year; 
  });
  
  book.__defineSetter__("year", function(newValue){
   if (newValue > 2004) {
    this._year = newValue;
    this.edition += newValue - 2004;
   } 
  });

  
  book.year = 2005;
  alert(book.edition); //2
로그인 후 복사
위 내용은 오늘의 자바스크립트 학습 내용을 요약한 내용이며, 매일 계속해서 업데이트 될 예정이니 많은 관심 부탁드립니다.

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿