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页 ...
随机推荐
- 【ASP.NET 进阶】定时执行任务
原理:利用全局应用程序类 Global.asax 和 System.Timers.Timer 类定时处理任务. 示例效果图: 其 Global.asax 类代码如下: using System; u ...
- poj2387 Til the Cows Come Home 最短路径dijkstra算法
Description Bessie is out in the field and wants to get back to the barn to get as much sleep as pos ...
- UVALive 6665 Dragonâs Cruller --BFS,类八数码问题
题意大概就是八数码问题,只不过把空格的移动方式改变了:空格能够向前或向后移动一格或三格(循环的). 分析:其实跟八数码问题差不多,用康托展开记录状态,bfs即可. 代码: #include <i ...
- WPF数字输入框和IP地址输入框
数字输入框 简介 在业务中,我们经常需要限制用户的输入,比如限制输入长度,限制只能输入数字等等.限制输入长度WPF内置的TextBox已经帮我们解决了,但是限制输入数字却并未在WPF中内置解决方案.使 ...
- JMeter学习(五)检查点
JMeter也有像LR中的检查点,本篇就来介绍下JMeter的检查点如何去实现. JMeter里面的检查点通过添加断言来完成. 检查点:上一章讲到,我们对用户名和密码进行了参数化,那么怎样来判断jme ...
- android stuio eclipse映射下的快捷键
转:关于 android stuio eclipse映射下的快捷键 http://www.cnblogs.com/0616--ataozhijia/p/3870064.html 会持续更新)这边讲的常 ...
- 006医疗项目-模块一:用户的查找:2.用户表查询的mapper映射的文件
前一篇文章已经把sql语句写好了并且在PL/SQL上调试过了,是可以的.这篇文章是写对应的mapper.xml, 第一步我们先通过逆向工程去构建每个表的mapper.xml文件和pojo类.这个我们在 ...
- 17Mybatis_动态sql-sql片段
这篇文章讲一下sql片段. 讲一下sql片段的的需求: 将上边实现的动态sql判断代码块抽取出来,组成一个sql片段.其它的statement中就可以引用sql片段. 方便程序员进行开发. 第一步我们 ...
- 由源码密码文件转转化成keystore
1.android 源码目录build\target\product\security 取platform.pk8 platform.x509.pem放到一个目录下 E:\sign\convert ...
- R 语言实现牛顿下降法
凸是一个很好的性质.如果已经证明了某个问题是凸的,那这个问题基本上算是解决了. 最近在解决一个多目标优化的问题.多目标的问题往往是非凸的.好在能够知道这个问题的近似解大概是多少.这样这个多目标优化的问 ...