구조형 모델 유형: 대리 모델--남의 여동생 대신
정의
말 그대로 남을 돕는 일(zuo)일(mei), 해(la)결(pi)문(tiao)문제,
프록시 모드 (Proxy) 는 다른 대상에게 프록시를 제공하여 이 대상의 접근을 제어합니다.먼저 송하이는 상대방의 이름을 알아야 한다. 좋은 인상을 위해 시작에 BMW를 보냈는데 돈이 모자라지 않았다.
//
var girl = function (name) {
this.name = name;
};
//
var songHai= function (girl) {
this.girl = girl;
this.sendGift= function (gift) {
alert("Hi " + girl.name + ", :" + gift);
}
};
//
var proxyGoodMen = function (girl) {
this.girl = girl;
this.sendGift = function (gift) {
(new songHai(girl)).sendGift(gift); // songHai
}
};
SongHai와proxyGoodMen 사이에는 속성과 방법이 비슷하지만, 대상인songHai가 어떤 이유로sendGift를 직접 실행하기가 불편하기 때문에proxyGoodMen이 대신 실행해야 한다.
실행 방식
var proxy = new proxyTom(new girl(" "));
proxy.sendGift(" ");
프록시 모드 공통 장면
프록시 모델은 대상을 방문할 때 어느 정도의 간접성을 도입하는 것이다. 이런 간접성은 여러 가지 용도를 추가할 수 있기 때문이다.
가상 에이전트로 그림loading 구현
다음 코드를 보세요.
var myImage = (function(){
var imgNode = document.createElement("img");
imgNode.alt='imgNode'
document.body.appendChild(imgNode);
return {
setSrc: function(src){
imgNode.src = src;
console.log('1')
}
}
}());
var proxyImage = (function(){
/** img, ,
src 。
**/
var img = new Image();
img.onload = function(){
console.log('4')
myImage.setSrc( this.src );
console.log('5')
}
return {
setSrc: function(src){
console.log('2')
myImage.setSrc( "loading.gif" );
console.log('3')
img.src = src;
}
}
})();
proxyImage.setSrc("load.jpg");
인쇄된 결과:
1
3
/**img.src = src img , img.onload **/
4
1
5
proxyImage 객체가 먼저 myImage를 호출했습니다.setsrc 방법, 불러오는 속도가 빠르거나 자주 캐시된 그림을 불러옵니다. 불러올 그림 src를 임의의 대상에게 값을 부여하고 임의의 대상을 통과합니다.onload 모니터링은 그림을 불러올 지 여부입니다. 그리고 myImage를 다시 호출합니다.setSrc 메서드.
es6의 proxy
Proxy를 지원하는 브라우저 환경
Proxy
은 전역 대상이므로 직접 사용할 수 있습니다.Proxy(target, handler)
는 구조 함수이고 target
는 대리된 대상handlde
이다. 각종 대리 조작을 성명한 대상이고 최종적으로 하나의 대리 대상으로 돌아간다.외부에서 대리 대상을 통해 방문target
대상의 속성을 통과할 때마다handler
대상을 거친다. 이 절차를 보면 대리 대상은 매우 유사middleware
(중간부품)이다.그러면 Proxy
어떤 조작을 차단할 수 있습니까?가장 흔히 볼 수 있는 것은 get( )
, set( )
대상 속성 등 조작, 완전한 조작이다.요약:
프록시 모드를 사용하려면 다음과 같이 하십시오.
완성을 기다렸을 때, 다른 응용 코드는 보충되지 않았고, 어쨌든 아무도 보지 않았다.gif
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.