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
相关文档:
一,javascript的流程控制语句
if(x==null) 或 if(typeof(x) =='undefined')可以简单写if(!x)
注意:在javascript中,false,null,undefined,0,""均是false
即 var x;
此时 if(x==null)
if(typeof(x)=='undefined')均为真
二,switch语句
switch(表达式)   ......
【前言】好文章,就是要慢慢研究,所以先转过来存着~
1. oncontextmenu="window.event.returnValue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" ......
由于TEXTAREA没有maxlength,不能这样限制textarea长度, 但通过JAVASCRIPT 就能实现到
<mce:script type="text/javascript"><!--
function limitLength(obj, length) {
var desc = obj.value;
obj.value = substr(obj.value,length);
}
function substr(str,length){
......
JavaScript是基于对象的语言。我们知道,对象是由一组数据(JavaScript中称之为属性)和施加在这组数据上的方法组成的。同时,JavaScript中还有一些不属于任何对象的系统函数。本文将简单介绍JavaScript中一些常用对象的属性和方法,以及几个有用的系统函数。
一、串方法
JavaScript有强大的串处理功能,有了这些串 ......
window.parent与window.opener的区别 javascript调用主窗口方法
1: window.parent 是iframe页面调用父页面对象
举例:
a.html
Html代码 <html>
<head><title>父页面</title></head>
<body>
&nb ......