1、分组之exec返回数组1》非分组匹配的exec返回数组:1 var pattern =/\d+[a-z]+/;2 var str='234google';3 alert(pattern.exec(str)); //234google4 alert(typeof pattern.exec(str)); //object2》分组匹配下的exec返回数组1 pattern =/(\d+)([a-z]*)/;2 var a =pattern.exec(str);3 alert(a); //234google,234,google4 alert(a.length); //35... Read More
posted @ 2014-03-05 17:17 小小gogo Views(322) Comments(0) Diggs(0) Edit
1、出现原因在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。如何应对这种变化?如何向“客户程序(使用这些对象的程序)”隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求改变而改变?2、意图:使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建新的对象。(将相同的部分进行赋值拷贝,不同的部分需要客户端自己决定)3、结构图4、代码演示举例:比如楼房的基本信息是相同的,但是他们的门牌号码是不同的,需要客户自己决定的。 1 //原型接口 2 public interfa... Read More
posted @ 2014-03-05 16:53 小小gogo Views(659) Comments(0) Diggs(0) Edit
1、正则表达式的创建方式两种方式创建:通过new修饰符创建和字面量的方式创建1》new修饰符方式创建1 var b2=new RegExp('Box','ig'); //第二个参数是 模式字符串: 用来限定 匹配的方式2 // g :全局匹配 i:忽略大小写的匹配 m :多行匹配2》字面量的方式创建1 var d= /Box/i; // //之间的是 参数字符串;;第二个/ 后面的是 模式字符串2、js中正则表达式的测试方式两种测试方式:test()方法:检测字符串中是否“含有”对应的模式字符串,返回值是true和false; exec()方法:检测字... Read More
posted @ 2014-03-04 14:50 小小gogo Views(1659) Comments(5) Diggs(5) Edit
一、简单工厂实现如下: 1 //计算器总的抽象类 2 public abstract class Computer 3 { 4 private int _NumberA; 5 private int _NumberB; 6 public int NumberA 7 { 8 set { 9 _NumberA = value;10 }11 get12 {13 ... Read More
posted @ 2014-03-03 21:25 小小gogo Views(832) Comments(1) Diggs(2) Edit
1、了解什么事程序集2、加载程序集首先要加载需要加载的程序集,然后找到指定的类型,进而往下进行动态加载。要加载的程序集中的内容: 1 public class Class1:Person 2 { 3 private string name; 4 private int age; 5 private void SayHi() 6 { 7 Console.WriteLine("hello shit!"); 8 } 9 }10 11 public delegate ... Read More
posted @ 2014-02-28 14:52 小小gogo Views(2048) Comments(0) Diggs(1) Edit
1、出现原因在软件系统中,有时候会面临着“一个复杂对象”的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂的对象的各个部分可能面临着剧烈的变化,但是把他们组合在一起的算法很稳定。提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求的改变而改变2、意图:将复杂对象的构建与其表示相分离(客户不关心这个复杂对象产品内部是怎么创建的),使得同样的构建工程可以创建不同的表示。3、结构图4、现实的简易的例子1、客户找到包工头,要求建一个房子,2、包工头找到不同的建筑队(Builder)来建筑房子的每个部分,建好房子后,交付给客户3 Read More
posted @ 2014-02-27 23:23 小小gogo Views(1891) Comments(0) Diggs(1) Edit
1、什么是委托,这里就不做介绍了,如果想了解可以查看博客:http://www.cnblogs.com/xiaoxiaogogo/p/3571494.html下面开始对事件进行介绍1、定义事件以及事件的编译原理首先定义事件对应的委托:1 public delegate void ThreeClickEventDel();然后对应事件变量:(其实就是在委托前面加一个event)public event ThreeClickEventDel ThreeClickEvent;反编译之后:是:一个“私有委托”和两个“公有”的“add”和“remover”方法1)因为是私有委托:所以只有类的内部可以调用 Read More
posted @ 2014-02-27 16:38 小小gogo Views(775) Comments(1) Diggs(1) Edit
1、委托的声明和编译原理声明委托:1 delegate void Translate(string str);通过反编译之后可得下面代码 private sealed class Translate:System.MulticastDelegate//就是一个多播委托 { public Translate(object o, Method m) { }//(实现委托方法),隐性传进来的 o 就是 当前类的 this对象,第二个参数是传进来的事件 public void Invoke(string str) { }//实现 委托的方法(向委托事件里面 传... Read More
posted @ 2014-02-27 14:48 小小gogo Views(2177) Comments(4) Diggs(4) Edit
1、流程控制1》 for in 仅用于 对象的遍历: 1 var box={ 2 "name":'小红', 3 'age':18, 4 'height':165 5 }; 6 7 for(var b in box) 8 { 9 alert(b);10 alert(box[b]);11 }2》with 语句 是 将 代码的 作用域 限定到 特定的对象上面去1 alert(box.name+box.age+box.height);//对象 调用属性的 方式2 3 with(box){ //限定的 操作的 对象4 ... Read More
posted @ 2013-12-19 23:08 小小gogo Views(199) Comments(0) Diggs(0) Edit
在js中常见的六种数据类型:String类型、Null类型、Number类型、Boolean类型、Object类型。1、typeof的注意点涉及到数据类型,不免会提到,操作符 typeof。要注意:1、typeof是操作符,不是方法。虽然我们经常使用typeof()的方式获取对象的数据类型。2、对 null 取typeof 是 object(这是因为null是 空的对象引用),对函数取 typeof 是 function1 alert(typeof null); //返回 object2 function demo(){3 alert('demo');4 }5 ale... Read More
posted @ 2013-12-19 19:14 小小gogo Views(1793) Comments(6) Diggs(4) Edit