javascript设计模式之工厂模式
工厂模式分为简单工厂模式和复杂工厂模式,前者是使用一个类来生成实例,通常是一个单体,后者是使用子类来决定一个成员变量是哪个类的具体实例,也就是简单工厂包含在复杂工厂之中。
下面通过一个具体的实例来具体的说说这工厂的一二吧。
用Ajax技术发起异步请求是现在web开发中的一个常见任务。
1 //implements AjaxHandler,创建一个复杂的工厂来执行Ajax的一系列流程,里面包含了两个简单工厂
2 var SimpleHandler = function(){};
3
4 SimpleHandler.prototype = {
5 //第一个简单工厂执行Ajax的创建,请求,发送。。。等
6 request:function(method,url,callback,postVars){
7 var xhr = this.createXhrObject();
8 xhr.onreadystatechange = function(){
9 if(xhr.readyState != 4) return;
10 (xhr.status == 200) ?
11 //定义了一个全局对象callback来执行对返回参数的应用
12 callback.success(xhr.responseText,xhr.responseXML):
13 callback.failure(xhr.status);
14 };
15 xhr.open(method,url,true);
16 if(method != "POST") postVars = null;
17 xhr.send(postVars);
18 },
19 //第二个简单工厂是根据不同的情创建XHR对象,不论什么情况他都能返回一个正确的XHR对象
20
相关文档:
Beginning JavaScript with Dom Scripting and Ajax
深入浅出JavaScript
图灵程序设计丛书
web开发系列
作者 Christian Heilmann [德]
第一章 JavaScript入门
本章主要介绍:
* JavaSript是什么以及它的功用
......
window.parent与window.opener的区别 javascript调用主窗口方法
1: window.parent 是iframe页面调用父页面对象
举例:
a.html
Html代码 <html>
<head><title>父页面</title></head>
<body>
&nb ......
一,全局变量和局部变量的比较
<script type="text/javascript">
<!--
var msg = '全局变量';
function show()
{
msg = '局部变量'; //修改全局变量的值
}
show();
alert(msg); //此时的值为‘局部变量’
//-->
</script> <script type="text/javascript" ......
单体是一个用来划分命名空间并将一批相关的属性和方法组织在一起的对象,如果他可以被实例化,那么他只能被实例化一次。
单体模式是javascript里面最基本但也是最有用的模式之一。
特点:
1. 可以来划分命名空间,从而清除全局变量所带来的危险。
2. ......