作家
登录

一种JavaScript的设计模式

作者: 来源:www.28hudong.com 2013-03-30 03:56:59 阅读 我要评论

一种JavaScript的设计模式 //简单的类的设计模式 //定义一个类class1 function class1() { //构造函数 } //通过指定prototype对象来实现类的成员定义 class1.prototype = { someProperty:"simple", someMethod:function { //方法代码 }, //其实属性和方法 }在一个类的成员之间互相引用,必须通过this指针来进行。因为在JavaScript中第个属性和方法都是独立的,它们通过this指针联系在一个对象上。 //简单的带参数的事件设计模式 <script language="JavaScript" type="text/javascript"> <!-- //将有参数的函数封装为无参数的函数 function createFunction(obj, strFunc) { var args = [];//定义args用于存储传递给事件处理程序的参数 if(!obj) obj = window;//如果是全局函数则obj=window; //得到传递给事件处理程序的参数 for(var i=2; i<arguments.length; i++) { args.push(arguments[i]); } //用无参数函数封装事件处理程序的调用 return function() { obj[strFunc].apply(obj, args);//将参数传递给指定的事件处理程序 } } //定义类class1 function class1() { //构造函数 } class.prototype = { show:function() { //show函数的实现 this.onshow();//触发onshow事件 }, onShow:function() {}//定义事件接口 } //创建class1的实例 var obj = new class1(); //创建obj的onshow事件处理程序 function objOnshow(userName) { alert("hello,"+userName); } //定义变量userName var userName = "terry"; //绑定obj的onShow事件 obj.onShow=createFunction(null, "objOnshow", userName); //调用obj的show方法 obj.show(); //--> </script> 通过createFunction封装,就可以用一种通用的方案实现参数传递。 //一个简单的开发框架 <script language="javascript"> var http_request = false; function send_request(url) {//初始化、指定处理函数、发送请求的函数 http_request = false; //开始初始化XMLHttpRequest对象 if(window.XMLHttpRequest) { //Mozilla 浏览器 http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) {//设置MiME类别 http_request.overrideMimeType("text/xml"); } } else if (window.ActiveXObject) { // IE浏览器 try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { // 异常,创建对象实例失败 window.alert("不能创建XMLHttpRequest对象实例."); return false; } http_request.onreadystatechange = processRequest; // 确定发送请求的方式和URL以及是否同步执行下段代码 http_request.open("GET", url, true); http_request.send(null); } // 处理返回信息的函数 function processRequest() { if (http_request.readyState == 4) { // 判断对象状态 if (http_request.status == 200) { // 信息已经成功返回,开始处理信息 alert(http_request.responseText); } else { //页面不正常 alert("您所请求的页面有异常。"); } } } </script>

  推荐阅读

  在视频前插入广告

1.加入背景图片 <TD align=middle width=329 background="IMAGES/vod_05.jpg"> <OBJECT id=NSPlay codeBase=http://activex.microsoft.com/activex/controls/mplayer/en>>>详细阅读


本文标题:一种JavaScript的设计模式

地址:http://www.17bianji.com/kaifa2/JS/31345.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)