hello

06 2013 档案

摘要:闭包(closure)是Javascript语言的一个难点,也是它的特色,很多高级应用都要依靠闭包实现。下面就是我的学习笔记,对于Javascript初学者应该是很有用的。一、变量的作用域要理解闭包,首先必须理解Javascript特殊的变量作用域。变量的作用域无非就是两种:全局变量和局部变量。Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量。 var n=999; function f1(){ alert(n); } f1(); // 999另一方面,在函数外部自然无法读取函数内的局部变量。 function f1(){ var n=999; }... 阅读全文
posted @ 2013-06-28 12:26 B追风少年 阅读(241) 评论(0) 推荐(1)
摘要:首先来明确一个问题,那就是在某些情况下,有些对象,我们只需要一个就可以了,比如,一台计算机上可以连好几个打印机,但是这个计算机上的打印程序只能有一个,这里就可以通过单例模式来避免两个打印作业同时输出到打印机中,即在整个的打印过程中我只有一个打印程序的实例。简单说来,单例模式(也叫单件模式)的作用就是保证在整个应用程序的生命周期中,任何一个时刻,单例类的实例都只存在一个(当然也可以不存在)。 下面来看单例模式的结构图(图太简单了)从上面的类图中可以看出,在单例类中有一个构造函数 Singleton ,但是这个构造函数却是私有的(前面是“ - ”符号),然后在里面还公开了一个 GetInstan. 阅读全文
posted @ 2013-06-24 18:08 B追风少年 阅读(338) 评论(0) 推荐(1)
摘要:.Net3.5之后出现了HashSet<T>,硬翻译过来就是“哈希集合”,跟“哈希”两字挂钩说明这种集合的内部实现用到了哈希算法,用Reflector工具就可以发现,HashSet<T>和Dictionary<TKey,TValue>使用了相同的存储方式和哈希冲突算法,那么,它跟Dictionary<TKey,TValue>和Hashtable在使用上到底有什么不同?HashSet<T>对集合运算的操作HashSet<T>是一个Set集合,虽然List、Collection也叫集合,但Set集合和它们却大有不同。HashS 阅读全文
posted @ 2013-06-21 09:30 B追风少年 阅读(2953) 评论(0) 推荐(0)
摘要:转自:http://www.cnblogs.com/jingzhongliumei/archive/2012/07/02/2573149.html先做点准备工作,定义两个类:Animal类和其子类Dog类,一个泛型接口IMyInterface<T>,他们的定义如下:publicclassAnimal{}publicclassDog:Animal{}interfaceIMyInterface<T>{}一.协变和逆变的定义从.Net Framework 4.0开始引入了一个新特性:协变与逆变,有人翻译为协变和反变,他们实际上所指的就是不同类型之间的一种转变(Variance 阅读全文
posted @ 2013-06-17 16:24 B追风少年 阅读(276) 评论(0) 推荐(1)

hello too