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页 ...
随机推荐
- 二分法 codevs 1432 总数统计
codevs 1432 总数统计 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description 给出n个数,统计两两之和小于k的方 ...
- codeforces 712A A. Memory and Crow(水题)
题目链接: A. Memory and Crow time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- JavaWeb学习之Servlet(三)----Servlet的映射匹配问题、线程安全问题
[声明] 欢迎转载,但请保留文章原始出处→_→ 文章来源:http://www.cnblogs.com/smyhvae/p/4140529.html 一.Servlet映射匹配问题: 在第一篇文章中的 ...
- Linux搭建python环境
环境: CentOS 6.4 前言:CentOS 6.4系统自带的有python2.6.6版本 一.下载文件 python官网:https://www.python.org/downloads/ 版本 ...
- 使用javascript获取url中的参数
方法一: //取url参数 var type = request("type") function request() { var query = location.search; ...
- sql语句原则
整理尘封的文档,sql语句方面的几条原则再次回顾一下.更详细版本 1. 尽量使用临时表扫描替代全表扫描: 2. 抛弃in和not in语句,使用exists和not exists替代:IN和EXIST ...
- ASP.NET MVC 扩展数据验证 转
此文只作记录 public class MaxWordsAttribute : ValidationAttribute { public MaxWordsAttribute(int maxWords) ...
- 视频会议的3G智能手机移植技术
现今的视频会议系统已经兼容3G手机等移动终端设备,而3G智能手机使用的操作系统一般与PC的操作系统不一样,其开发环境一般都在PC上进行,通过模拟器在PC上进行手机系统的应用程序开发,而在这些操作系统上 ...
- 将请求挂载至WEB页面
有两种方式 1.使用标准的方式,在某个菜单下面直接加入标准功能 提交请求(FEM_FWK_SUBMIT_REQ),然后即可在页面上提交请求. 2.将指定请求定义成功能,在WEB页面使用功能直接提交指 ...
- JS第一个动画
描述:让页面中的一个盒子平稳向右移动到指定位置 <div id="div1"> <div> JS代码实现 <script type="tex ...