JS模式:jq中简单的模式--》采摘自js设计(tomxu_version)
<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<script>
//据说这就是组合模式了,就是逸带的感觉;
var $ = jQuery = window.$ = function(){}; $.prototype = {
addClass : function(value){
var classNames, i ,l , elem, setClass, c, cl;
if( $.ifFunction(value) ){
return $.each(this,function(j){
$(this).addClass( value.call(this,j,this.ClassName) );
})
}; if(value && typeof value === "string"){
className = this.className.split(/\b/);
for(var i=0, l=this.length; i<l; i++){
elem = this[i]; //这个就是又一个each循环了;
if(elem.nodeType === 1){
if( !elem.className && className.length === 1 ){
elem.className = value;
}else{
setClass = " " + elem.className + " ";
for(c=0, cl=className.length; c<cl; c++){
if( !!setClass.indexOf( className[c] ) ){
setClass += className[c] + " ";
}
};
setClass += value;
elem.calssName = $.trim( setClass );
}
}
}
};
return this;
}
}; //facade__外观模式;
$.ajax = function(){ };
$.ajax.setting.xhr = window.ActiveXObject ? activeObject() : createStndardXHR();
function createStandardXHR(){
try{
return new window.XMLHttpRequest;
}catch(e){};
};
function activeXObject(){
try{
return new window.activeXObject("Microsoft","XMLHTTP");
}catch(e){}
}; //jQ中的观察者模式(p/s);
//使用包装包装一个jQ出来;
(function($){
var o = $({}); // 让o有了jq的继承,可以使用jq的工具方法和函数
$.subscribe = function(){
o.bind.apply(o,arguments);
};
$.unsubscribe = function(){
o.unbind.apply(o,arguments)
};
$.publish = function(){
o.trigger.apply(o,arguments)
}
}(jQuery))
// 注意:这里面使用的是apply 而不是 call; apply可以直接传arguments; </script>
</body>
</html>
JS模式:jq中简单的模式--》采摘自js设计(tomxu_version)的更多相关文章
- 《JAVA与模式》之简单工厂模式
在阎宏博士的<JAVA与模式>一书中开头是这样描述简单工厂模式的:简单工厂模式是类的创建模式,又叫做静态工厂方法(Static Factory Method)模式.简单工厂模式是由一个工厂 ...
- Java设计模式之【工厂模式】(简单工厂模式,工厂方法模式,抽象工厂模式)
Java设计模式之[工厂模式](简单工厂模式,工厂方法模式,抽象工厂模式) 工厂模式出现的原因 在java中,创建一个对象最简单的方法就是使用new关键字.但在一些复杂的业务逻辑中,创建一个对象不只需 ...
- 商场促销-策略模式(和简单工厂模式很像的哇) C#
还是那几句话: 学无止境,精益求精 十年河东,十年河西,莫欺少年穷 学历代表你的过去,能力代表你的现在,学习代表你的将来 废话不多说,直接进入正题: 首先按照大话设计模式的解释,在这里也总结下策略模式 ...
- 【JS设计模式】温习简单工厂模式、工厂方法模式、抽象工厂模式概念
注:空心箭头表示的是种继承关系,工厂类和产品类之间是一种依赖关系.是用箭头加虚线表示的,以下的模型图是用的实线是不正确(时间不够用,在这里我偷懒了.这个习惯不好,呵呵) 简单工厂模式(Simple F ...
- PHP中“简单工厂模式”实例讲解
原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html 简单工厂模式:①抽象基类:类中定义抽象一些方法, ...
- js原生设计模式——3简单工厂模式\简单工厂模式封装简单对象
1.Factory基本写法 <!DOCTYPE html><html lang="en"><head> <meta charset= ...
- PHP中“简单工厂模式”实例讲解(转)
? 1 2 3 4 5 6 7 8 原创文章,转载请注明出处:http://www.cnblogs.com/hongfei/archive/2012/07/07/2580776.html 简单 ...
- c#中简单工厂模式
运算类 public class yunsuan { public static operation create(string operate) { operation oper = null; s ...
- python 设计模式之工厂模式 Factory Pattern (简单工厂模式,工厂方法模式,抽象工厂模式)
十一回了趟老家,十一前工作一大堆忙成了狗,十一回来后又积累了一大堆又 忙成了狗,今天刚好抽了一点空开始写工厂方法模式 我看了<Head First 设计模式>P109--P133 这25页 ...
随机推荐
- 网页中插入FLASH(swf文件),并且让Flash不遮挡HTML元素
一:网页中插入flash代码如下: 当然里面的很多属性可以去掉,根据具体的需求而定. 我们在网页中经常遇到播放flash,要正常播放flash就要用到OBJECT和EMBED这两个标签.鉴于火狐及 ...
- 一个CentOS7的开发环境部署,包括防火墙|VPN|多IP多网关|HTTP代理服务器设置等
http://www.lenggirl.com/code/centos7.html layout: post title: "一个CentOS7的开发环境部署,包括防火墙|VPN|HTTP代 ...
- Centos7开启防火墙并且使MYSQL外网访问开放3306端口
http://www.cnblogs.com/kreo/p/4368811.html CentOS7默认防火墙是firewalle,不是iptables #先检查是否安装了iptables servi ...
- Tarjian算法求强联通分量
如果两个顶点可以相互通达,则称两个顶点强连通(strongly connected).如果有向图G的每两个顶点都强连通,称G是一个强连通图.强连通图有向图的极大强连通子图,称为强连通分量(strong ...
- dalvik
Google公司自己设计用于Android平台的Java虚拟机
- Yii提供的Htmler助手checkboxList可自定义Checkbox输出格式
foreach($catetags as $cate){ echo Html::checkboxList('category_id','',$cate,['item'=>'customCheck ...
- js 日期2015/12/22/16/45替换2015-12-22 16:45格式
js 日期2015/12/22/16/45替换2015-12-22 16:45格式 利用正则分组: function toChange(date) { var reg = /(\d+)\/(\d+)\ ...
- 【转】【WPF】WriteableBitmap应用及图片数据格式转换
使用 WriteableBitmap 类基于每个框架来更新和呈现位图.这对于生成算法内容(如分形图像)和数据可视化(如音乐可视化工具)很有用. WriteableBitmap 类使用两个缓冲区.“后台 ...
- [转]hive实例讲解实现in和not in子句
FROM : http://www.cnblogs.com/ggjucheng/archive/2013/01/03/2842855.html 目前hive不支持 in或not in 中包含查询子句的 ...
- yield(C# 参考)
yield(C# 参考) 在语句中使用 yield 关键字,表示在该关键字所在的方法.运算符或 get 访问器是迭代器. 通过使用 yield 定义迭代器,可在实现自定义集合类型的 IEnumer ...