源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

一种JavaScript的设计模式

  • 时间:2021-09-18 11:08 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:一种JavaScript的设计模式
一种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>
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部