摘要:
观察者模式 烧水事件 猫叫事件 http://www.tracefact.net/Design-Pattern/Observer.aspx http://www.cnblogs.com/sjrhero/archive/2011/01/07/1930230.html 阅读全文
摘要:
抽象工厂模式:提供了创建一系列相关或互相依赖对象的接口,而无须指定它们具体的类。 阅读全文
摘要:
抽象类<script language="JavaScript" type="text/javascript"> < !-- //定义extend方法 Object.extend = function(destination, source) { for (property in source) { destination[property] = source[property]; } return destination; } Object.prototype.extend = function(o... 阅读全文
摘要:
注意事项:1.如果给某个对象的类型的原型添加了某个名为 a 的属性,而这个对象本身又有一个名为a 的同名属性,则在访问这个对象的属性a 时,对象本身的属性“覆盖”了型属性,但是原型属性并没有消失,当你用delete 运算符将对象本身的属性a 删除时,对象的原型属性就恢复了可见性。利用这个特性,可以为对象的属性设定默认值。 function Person(name) { this.name = name; this.sayName = function () { alert("我的名字:" + name); ... 阅读全文
摘要:
可以看出father没有prototype属性,Person有 按照javascript的说法,function定义的这个Person就是一个Object(对象),而且还是一个很特殊的对象,这个使用function定义的对象与使用new操作符生成的对象之间有一个重要的区别。这个区别就是functio 阅读全文
摘要:
方法1: 适用于 SQL Server 2000/2005 方法2:适用于 SQL Server 2000/2005 方法3:适用于 SQL Server 2005 说明,页大小:每页的行数;页数:第几页。使用时,请把“页大小”和“页大小*(页数-1)”替换成数字。 其它的方案:如果没有主键,可以用 阅读全文
摘要:
KMP算法的思想就是:在匹配过程称,若发生不匹配的情况,如果next[j]>=0,则目标串的指针i不变,将模式串的指针j移动到next[j]的位置继续进行匹配;若next[j]=-1,则将i右移1位,并将j置0,继续进行比较。 next[j]是什么呢? 即求算模式串每个位置处的最长后缀与前缀相同的长 阅读全文
摘要:
1.List-->DataSet 2.List<T>-->DataSet 3.DataSet-->List<T> +代码: 问题 Nullable转换 阅读全文
摘要:
1.快速排序 这种排序是.net中使用的,均衡性比较好,效率相对来说最高, 堆排序 http://www.cnblogs.com/huangxincheng/archive/2011/11/16/2251196.html 除了最后一个父节点以外,每个父节点都必须有两个子节点 大根堆: 就是说父节点要 阅读全文
摘要:
1.最长公共子序列 总结:就是在边上加一圈零,比较相对应的字符,相等,值就等于左上角的值, 不相等,值就去左边和上边的最大值。 2.字符串相似度 总结:就是在边上加一圈零,比较相对应的字符,相等,值就等于左上角的值, 不相等,值就去左边,左上角和上边的最小值,就是四角中最小的,再加1. http:/ 阅读全文
摘要:
网上说:小括号能把我们的表达式组合分块,并且每一块,也就是每一对小括号,都有一个返回值。这个返回值实际上也就是小括号中表达式的返回值。 所以,当我们用一对小括号把匿名函数括起来的时候,实际上小括号对返回的,就是一个匿名函数的Function对象。 因此,小括号对加上匿名函数就如同有名字的函数般被我们 阅读全文
摘要:
function Person(name) { this.name = name; this.showMe = function () { alert(this.name); } }; Person.prototype.from = function () { alert('I come from prototype.'); } Person.prototype.school = "nanjing"; va... 阅读全文
摘要:
在JavaScript中,每个对象可以看作是多个属性(方法)的集合,引用一个属性(方法)很简单,即:对象名.属性(方法)名除此之外,还可以用方括号的形式来引用:对象名[“属性(方法)名”]注意,这里的方法名和属性名是一个字符串,而非原先点号后面的标识符var arr=new Array();//为数组添加一个元素arr[“push”](“abc”);//获得数组的长度var len=arr[“length”];//输出数组的长度alert(len);等效于var arr=new Array();//为数组添加一个元素arr.push( “abc”);//获得数组的长度var len=arr.l 阅读全文
摘要:
我们说JavaScript 是一种弱类型的语言,一方面体现在JavaScript 的变量、参数和返回值可以是任意类型,另一方面也体现在,JavaScript 可以对对象任意添加属性和方法,这样无形中就淡化了“类型”的概念。对象的三种基本构造法//第一种构造法:new Objectvar a = new Object();a.x = 1, a.y = 2;//第二种构造法:对象直接量var b = {x : 1, y : 2};//第三种构造法:定义类型function Point(x, y){this.x = x;this.y = y;}var p = new Point(1,2);//var 阅读全文
摘要:
JavaScript为函数对象定义了两个方法:apply和call,它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数的方式有所区别:Function.prototype.apply(thisArg,argArray);Function.prototype.call(thisArg[,arg1[,arg2…]]);从函数原型可以看到,第一个参数都被取名为thisArg,也就是说,所有函数内部的this指针都会被赋值为thisArg,这就达到了将函数作为另外一个对象的方法运行的目的。两个方法除了thisArg 参数,都是为Function 对象传递的参数。 可以看出,obj1的方法 阅读全文