> 웹 프론트엔드 > JS 튜토리얼 > JavaScript_javascript 기술에서 Get 및 Set 접근자의 인터넷 구현 코드의 아름다움

JavaScript_javascript 기술에서 Get 및 Set 접근자의 인터넷 구현 코드의 아름다움

WBOY
풀어 주다: 2016-05-16 18:19:32
원래의
889명이 탐색했습니다.

표준 Get 및 Set 접근자 구현

코드 복사 코드는 다음과 같습니다.

함수 필드 ( val){
this.value = val;
}
Field.prototype = {
get value(){
return this._value; 값(val){
this._value = val;
}
}
var field = new Field("test")
field.value="test2"; > //field.value는 이제 "test2"를 반환합니다.


다음 브라우저에서 정상적으로 작동할 수 있습니다.


일반적으로 사용되는 구현 방법은 다음과 같습니다. JavaScript_javascript 기술에서 Get 및 Set 접근자의 인터넷 구현 코드의 아름다움


코드 복사 코드는 다음과 같습니다. function Field(val){
var value = val;

this.getValue = function(){
return value;

this .setValue = function(val){
value = val;
}
var field = new Field("test")
field.setValue("test2")
field .getValue() // "test2" 반환


DOM 요소에 Get 및 Set 접근자 구현



코드 복사
코드는 다음과 같습니다. HTMLElement.prototype.__defineGetter__("description", function () { return this.desc; });
HTMLElement .prototype.__defineSetter__("description", function (val) {
this.desc = val;
})
document.body.description = "아름다운 몸"; // document.body.description은 이제 "Beautiful body"를 반환합니다.


는 다음 브라우저에서 정상적으로 작동합니다.





Object.defineProperty를 통해 접근자 구현JavaScript_javascript 기술에서 Get 및 Set 접근자의 인터넷 구현 코드의 아름다움

앞으로는 객체를 확장하는 ECMAScript 표준 방법이 Object.defineProperty를 통해 구현될 예정인데, 이것이 IE8이 이 방법을 통해 get 및 set 접근자를 구현하는 이유입니다. 불행하게도 Microsoft는 여전히 매우 안목이 있는 것 같습니다. 현재는 IE8과 Chrome 5.0만 지원하며 다른 브라우저에서는 지원하지 않습니다. 또한 IE8은 DOM 요소만 지원하지만 향후 버전에서는 Chrome과 같은 일반 Javascript 개체를 지원할 예정입니다.

DOM 요소에 Get 및 Set 접근자 구현


코드 복사

코드는 다음과 같습니다. Object.defineProperty(document.body, "description", { get : function () { return this.desc; },
set : function (val) {
this.desc = val;
}
});
document.body.description = "콘텐츠 컨테이너"
// document.body.description은 이제 "콘텐츠 컨테이너"를 반환합니다. >

다음 브라우저에서 정상적으로 작동할 수 있습니다:



일반 객체에 대한 Get 및 Set 접근자 구현

코드 복사JavaScript_javascript 기술에서 Get 및 Set 접근자의 인터넷 구현 코드의 아름다움


코드는 다음과 같습니다.
var loss = { loc : "섬" } Object.defineProperty(lost, "location", { get : function () {
return this.loc;
},
set : function (val) {
this.loc = val
}
lost.location = "다른 island" ;
// loss.location은 이제 "Another island"를 반환합니다.


는 다음 브라우저에서 정상적으로 작동할 수 있습니다:




이 기사 요약

Microsoft의 IE는 Object.defineProperty만 지원하고 Get 및 Set 접근자를 완벽하게 구현하지는 않지만 IE, 특히 방금 출시된 IE9에서 사용하는 새로운 javascript 엔진은 HTML5 및 CSS3를 지원합니다. 하드웨어 가속 등. 언젠가는 모든 브라우저가 표준을 완전히 수용하고 완벽한 WEB 세상을 가져올 수 있을 것이라고 믿습니다.

JavaScript_javascript 기술에서 Get 및 Set 접근자의 인터넷 구현 코드의 아름다움참고:

1. JavaScript를 사용한 Getter 및 Setter

2.

JavaScript Getters 및 Setters

저자: Dream

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