欢迎来到天天文库
浏览记录
ID:30517646
大小:19.80 KB
页数:13页
时间:2018-12-31
《深入理解javascript系列(31):设计模式之代理模式详解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解深入理解JavaScript系列(31):设计模式之代理模式详解 这篇文章主要介绍了深入理解JavaScript系列(31):设计模式之代理模式详解,代理模式使得代理对象控制具体对象的引用,代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西,需要的朋友可以参考下 介绍 代理,顾名思义就是帮助别人做事,GoF对代理模式的定义如下: 代理
2、模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。 代理模式使得代理对象控制具体对象的引用。代理几乎可以是任何对象:文件,资源,内存中的对象,或者是一些难以复制的东西。 正文 我们来举一个简单的例子,假如dudu要送酸奶小妹玫瑰花,却不知道她的联系方式或者不好意思,想委托大叔去送这些玫瑰,那大叔就是个代理(其实挺好的,可以扣几朵给媳妇),那我们如何来做呢? 代码如下: //先声明美女对象对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产
3、党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 vargirl=function(name){ this.name=name; }; //这是dudu vardudu=function(girl){ this.girl=girl; this.sendGift=function(gift){ alert("Hi"+girl.name+",dudu送你一个礼物:"+
4、gift); } }; //大叔是代理 varproxyTom=function(girl){ this.girl=girl; this.sendGift=function(gift){ (newdudu(girl)).sendGift(gift);//替dudu送花咯 } }; 调用方式就非常简单了: 代码如下: varproxy=newproxyTom(newgirl("酸奶小妹")); proxy.sendGift("999朵玫瑰");对党的认识也有了进一步的提高。才真正
5、体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 实战一把 通过上面的代码,相信大家对代理模式已经非常清楚了,我们来实战下:我们有一个简单的播放列表,需要在点击单个连接(或者全选)的时候在该连接下方显示视频曲介绍以及play按钮,点击play按钮的时候播放视频,列表结构如下: 代码如下: DaveMatthewsvi
6、ds 全选/反选 对党的认识也有了进一步的提高。才真正体会到了中国共产党的伟大、光荣和正确,更感到只有中国共产党是全中国最广大人民利益的忠实代表我真正系统地接触和学习党的基本知识是在这次中级党校的培训班上。通过学习,了解了党的发展历程,对党的性质、宗旨、任务等基本知识有了进一步的了解 我们先来分析如下,首先我们不仅要监控a连接的点击事件,还要监控“全选/反选”的点击事件,然后请求服务器查询视频信息,组装HTML信息显示在li元素的最后位置上,效果如下: 然后再监控
7、play连接的点击事件,点击以后开始播放,效果如下: 好了,开始,没有jQuery,我们自定义一个选择器: 代码如下: var$=function(id){ returndocument.getElementById(id); }; 由于Yahoo的json服务提供了callback参数,所以我们传入我们自定义的callback以便来接受数据,具体查询字符串拼装代码如下: 代码如下: varhttp={ makeRequest:function(ids,callback){ varu
8、rl='http://query.yahooapis.com/v1/public/yql?q=', sql='select*frommusic.video.idwhereidsIN("%ID%")', format="format=json", handler="callback="+callback, script=document.createElement('script'); sql=sql.replace('%ID%',
此文档下载收益归作者所有