自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(74)
  • 资源 (1)
  • 收藏
  • 关注

原创 javascript享元模式和对象池技术

javascript享元模式享元模式:运用共享技术来有效支持大量细粒度的对象 内部状态:被一些对象共享,独立于具体场景,通常不变 外部状态:取决于具体的场景,并根据场景而变化文件上传的假设例子var id = 0;window.startUpload = function (uploadType, files) { //uploadType区分是控件还是flash for(var

2016-08-18 11:16:51 3172

原创 javascript模版模式

javascript模版模式模版模式:利用父类定义一些类似对象的公共方法和操作框架简单例子var Beverage = function () {};Beverage.prototype.boilWater = function () { console.log('把水煮沸');};Beverage.prototype.brew = function () { //

2016-08-17 17:25:47 449

原创 javascript组合模式

javascript组合模式组合命令<script> var MacroCommand = function () { return { commandList: [], add: function (command) { this.commandList.push(command);

2016-08-17 16:27:40 415

原创 javascript命令模式

javascript命令模式传统面向对象语言中的命令模式<body> <button id="button1">点击按钮1</button> <button id="button2">点击按钮2</button> <button id="button3">点击按钮3</button></body><script> var button1 = document.ge

2016-08-17 15:19:08 368

原创 javascript观察者模式

javascript观察者模式观察者模式:当一个对象的状态发生改变,所有依赖于它的对象都将得到通知通用发布订阅var event = { clientList:[], listen: function (key, fn) { if(!this.clientList[key]){ this.clientList[key] = [];

2016-08-17 11:00:26 979

原创 javascript迭代器

javascript迭代器迭代器:提供一种顺序访问聚合对象各个元素方法,并不暴露该对象jQuery迭代器$.each([1, 2, 3, 4], function (i, n) { console.log(i +'---'+ n);})自定义迭代器var each = function (ary, callback) { for (var i = 0, l = ary.lengt

2016-08-16 17:04:22 395

原创 javascript代理模式

javascript代理模式代理模式:为一个对象提供一个替代品或占位符,以便控制对它的访问var Flower = function () { this.name = "玫瑰";};var xiaoming = { senfFlower: function (target) { var flower = new Flower(); target.re

2016-08-16 16:05:49 380

原创 javascript单例

javascript单例单例模式是指,一个类仅有一个实例,并提供一个访问它的全局访问点。一般单例写法var Singleton = function (name) { this.name = name; this.instance = null;};Singleton.prototype.getName= function(){ console.log(this.name)

2016-08-16 11:32:00 357

原创 javascript闭包

javascript闭包闭包生存周期<body> <div>1</div> <div>2</div> <div>3</div> <div>4</div> <div>5</div></body><script> var nodes = document.getElementsByTagName('div'); for (var i=0, l =

2016-08-15 15:59:06 285

原创 javascript中this指向问题

javascript中this指向问题在对象方法中调用在对象方法中this就是指该对象var obj = { name: 'xin', getName: function () { return this.name; }};console.log(obj.getName()); //xin作为普通函数调用作为普通函数调用时指向全局对象,被全局对象

2016-08-15 13:58:55 522

原创 javascript多态、封装和原型链

javascript多态、封装和原型链这些内容将是初级javascript coder迈向初高级的必由之路。多态多态指:同一操作作用在不同的对象上,可以产生不同的解释和不同的类。 var googleMap = { show: function () { console.log("展示谷歌地图"); }};var baiduMap = { show:

2016-08-15 11:17:58 495

原创 HTML5-地理位置接口

HTML5地理位置接口简单来说这个接口的使用就是两个函数getCurrentPosition(successCallback, errorCallback, options) 一次更新位置watchPosition(successCallback, errorCallback, options) 重复更新位置 两者的区别在于,前者一次性获得,而后者是一个函数监听,位置发生变化就会调用函数,并返

2016-08-09 16:15:46 518

原创 HTML5-音频和视频

音频和视频基本使用只有在浏览器使用video和audio就可以开始使用了<video src="video.webm" controls></video><audio src="audio.ogg" controls></audio>当浏览器不支持时可以在标签之间使用其他替代的媒体方案source使用source可以指定多个资源,但是video和audio都不支持跨域<audio control

2016-08-09 15:58:05 473

原创 HTML5-Canvas

Canvas绘图绘制线段HTML结构<canvas id="diagonal" width="400px" height="400px"> 您的浏览器不支持!</canvas>

2016-08-08 16:48:28 547

原创 jquery操作属性

attr(name|pro|key,val|fn)设置或返回被选元素的属性值$("img").attr({ src: "test.jpg", alt: "Test Image" });$("img").attr("title", function() { return this.src });emoveAttr(name)每一个匹配的元素中删除属性$("img").removeAttr("src

2016-08-04 17:00:47 513

原创 jquery-Ajax

$.ajax().ajax(url[,setting])该方法一般不会使用到,有大量的可以设置的参数[.ajax(url[, setting]) 该方法一般不会使用到,有大量的可以设置的参数[.ajax的参数](http://jquery.cuishifeng.cn/jQuery.Ajax.html) $.ajax({ type: "POST", url: "som

2016-08-04 16:41:47 255

原创 jquery选择器

parent > child 父元素下的子元素,不包括孙元素prev + next 紧接在prev元素后的next元素:first 第一个元素:last() 最后一个:not 除了某元素:even 偶数:odd 奇数:eq 从零开始的第几个:gt() 比从零开始的索引值大的:lt() 小:header h1~h6:animated 怎在执行的动画:focus 获得焦点的元素

2016-08-04 16:40:40 182

原创 文章标题

git常用命令速览git init 创建git仓库git add file添加到暂存区git commit -m 'DESC' 提交到版本库git diff 查看修改内容git log 显示最近的commit日志git log --pretty=oneline 以简略形式显示日志git reset --hard HEAD^ 回到上一版本git reset --hard 4375984

2016-08-04 10:39:20 148

原创 javascript中原型链理解

javascript对象问题原型链问题var obj= {name: 'seven'};var A = function(){};A.prototype = obj;var a = new A();console.log(a.__proto__ === A.prototype);console.log(a.name);以上代码的对象指向问题: 当对象继承查找发生时,新对象隐藏的属性p

2016-08-03 15:14:16 298

原创 PHP-curl

curl步骤初始化cURL(curl_init())向服务器发送请求接受服务器数据(curl_exec())关闭cURL(curl_close())网页爬虫$curl = curl_init("http://www.runoob.com");$result = curl_exec($curl);echo $result;curl_close($curl)使用参数配置$curl =

2016-08-03 15:08:37 272

原创 24.php中使用Iterator,ArrayAccess和Countable

迭代器往往被我们用来在数据库中读取大量的数据时方便数据的管理。<?phpclass Basket implements Iterator{ private $fruits = array('apple', 'banna', 'pear', 'orange', 'watermelon'); private $position = 0; //返回当前的元素

2016-02-28 20:14:04 797

原创 23.php使用注册表

全局变量是能被任意位置修改的,同时常量又不够灵活。我们通常借用单例模式创建单例来保存数据这就是注册表。注册表即可以保存对象也能保存键值对。    保存对象<?phpfinal class Registry{ //保存自身 private static $instance=NULL; //保存请求 private $Request; priv

2016-02-22 21:24:39 573

原创 22.使用UML图做描述

通查使用斜体表示类名,当使用抽象类时,使用类名在下一行使用{abstract}做标记,当使用接口时在接口名上方使用>。

2016-02-22 20:45:50 432

原创 21.php命名空间

命名空间是对工程和类管理的一种替代解决方式,本质上是是语言设计缺陷大规避,目的是为了工程的方便管理和防止同名类的加载。    我们不使用命名空间,并引入另外一个文件,我创建了三个文件待用,main.php,lib1.php,lib2.php<?php/* * filename ./main.php * * *//* namespace main; */require_o

2016-02-20 12:08:44 250

原创 20.php回调、匿名函数、和闭包操作

现在的php是即支持面向对象的语言由支持面向过程的语言,在开发过程中我们往往会混合使用,回调会让我们容易将两种编码方式做整合,做到优秀的插拔。而闭包操作和回调都是建立在匿名函数基础之上的。<?php/* 简单的用于实验的类 */class Product{ public $name; public $price; function __construct

2016-02-19 22:35:38 1418

原创 19.php延迟绑定,使用static创建对象

去年就在《深入PHP面向对象、模式与实践》中看到了这样的一种用法,今天才拿出来仔细分析。    如果我们懒得思考会这么写:<?phpabstract class DomainObject{ }class User extends DomainObject{ public static function create(){ return new Use

2016-02-19 18:01:27 590

原创 5.less常见使用

less和sass就是使用其他工具将某种格式的文本重新编译成css文件,好处在于方便工程管理、避免写大量的重复内容和利于维护。我们常常使用的方式是:写好less后在本地编译后使用编译后的css文件,虽然sass和less能做到请求时进行编译,但是会带来额外的开销,所以我们一般会本地进行编译,以下内容能让你在两个小时内迅速掌握less的使用。    设置less的字符编码方式@charset

2016-02-17 17:11:13 408

原创 18.php访问者模式

本文参看php 设计模式 之 访问者模式.<?php//定义元素接口abstract class User{ public function getPoint() { return rand(); //该数据应该由数据库中读取,这里就直接模拟某个值了 } //这里的accept方法用于把访问者引入,在这个方法里,($visitor)访问

2016-01-22 11:12:20 225

原创 17.php模版模式

直接上代码。<?phpabstract class sale{ public $price = 0; public final function setprice(){ $this->price += $this->Tax(); $this->price -= $this->sale(); } //税务

2016-01-22 10:39:34 204

原创 16.php代理模式

对原对象进行继承并重写要被改变的模块,这就是代理模式。<?phpclass CD{ protected $name; protected $price; protected $num; function __construct($name, $price, $num){ $this->name = $name; $th

2016-01-22 09:52:21 221

原创 15.php原型模式

有时候对象要修改某些部分属性成为新的对象的组成部分,我们借用对原型的克隆创建新的对象。<?phpclass Fish{ protected $name; protected $age; protected $weight; protected $message="还是一条活鱼"; function __construct($name, $ag

2016-01-21 22:58:28 285

原创 14.中介者模式

电商项目中我们可能遇到这样的问题:要对不同的商品修改价格,但是商品是有巨大的差别的,这个时候就适合使用中介者模式。<?phpclass Book{ private $name; private $obj=NULL; public $price; function __construct($name, $price, Intermediar $obj)

2016-01-21 22:42:51 234

原创 13.php解释器模式

当遇到不良言论的筛选,往往需要该设计模式。分为三部分,数据的提供源,数据的替换处理,调用的控制部分。<?php/* * 要被翻译数据的源 * */class User{ public $user; public $saymessage; function __construct($user){ $this->user = $user

2016-01-20 21:15:33 198

原创 12.php外观模式

构建中间层次,当数据要进行转化保存为其他形式,使用静态方法并创建客户端统一调用。<?php/* * 对象中保存了自己的信息,但有不同的格式 * */class Book{ public $name; public $author; public $message = array(); function __construct($name, $author,

2016-01-20 19:05:51 208

原创 11.php建造者模式

面对批量的属性赋值创建对象适合使用建造者模式。<?php/* * 被创建的类 * */class CD { protected $_type = ""; protected $_size = ""; protected $_color = ""; public function setType($type){ $this->_typ

2016-01-20 16:48:14 292

原创 10.php桥接模式

当遇到多种不同的处理组合时,为防止对象的爆炸而使用的设计模式。由一个类别对象做最后的发送,而其他类别做各种数据的处理。<?phpabstract class Info{ //创建的对象用于保存发送对象 public $obj; function __construct(Type $obj){ $this->obj = $obj;

2016-01-20 16:07:15 232

原创 9.php适配器模式

所谓适配器就是在数据格式不匹配的情况下,对数据格式进行调整用在不同的条件下。<?php/* * 仅仅将错误消息返回 * * */class ErrorObject{ public $errorMessage; function __construct($errorMessage){ $this->errorMessage = $erro

2016-01-20 15:02:20 178

原创 21.linux文件的查找

locate 非实时查找全系统的文件,依靠一个数据库,非精确的查找[root@localhost bin]# locate passwd/etc/passwd/etc/passwd-/etc/passwd.OLD/etc/pam.d/passwd/etc/security/opasswd/lib/security/pam_passwdqc.so/lib/security/pam_

2016-01-16 23:19:39 251

原创 1.服务器上安装更新的python和代码提示(ipython)的安装

linux mint17.x和linux kali2等linux发行版本python版本已经都大家都在使用的2.7.6以上,但是面对我们的服务器centos5~6和redhat5~6往往python还是python2.6,但是当前服务器上众多软件都依赖于自带的python,这就需要我们在不卸载原有python的状况下使用新的版本。目前我们有两种方法,一种使用pyenv进行环境切换,一种使用源码包编

2016-01-16 20:20:32 904

原创 4.动画加载效果

这个简单的动画加载是由中间向两边扩展的效果,比较简单。这部分内容是参看的W3CPLUS上的文章。 小志博客- 小志的照片- 《css那些事》- 添翼地带- linxz's lab- CSS小工具- >

2016-01-14 15:05:11 286

javascript帮助文档

每个前端工程师都会用到的 中文javascript帮助文档

2014-10-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除