javascript面向对象学习笔记(一)——继承
最近在学习html5,玩了下canvas,发现js中很多的东西都不太记得了。翻了下笔记后发现还是去图书馆逛逛把,到借阅区找了我一直想看的《javascript design patterns》好好研读了个下午,读罢,顿时有种醍醐顿开的感觉(夸张了..),发现之前对javascript OO方面的认识真的很浅,读了前几章关于OO的介绍后感觉思路清晰很多了,对于js一些基本概念的认识也加深了很多。同时
http://www.cyqdata.cn/cnblogs/article-detail-36192
威老迷宫探险第二季--如何更面向对象
话说在第一季中,威老探访了乾陵,并成功地取回了大量的宝藏。
想看第一季的朋友请进
威老的迷宫探险第一季
这次,威老卷土重来,前往***。。等待他的将是什么样的危险呢?
去***的人,都再也没有回来过,相传在那里生活着一群吃人的Monster,它们每天都在四处游荡。任何访客一旦碰上Monster,就会立马被吃掉!
OK,这就是我们这次的迷宫。
经过分析,我们
http://www.cyqdata.cn/cnblogs/article-detail-36147
javascript 学习笔记(八)javascript对象
昨天看了些有关javascript对象方面的文章,以下是自己的一些学习心得及体会,希望同大家共同讨论!
1、javascript中的内置对象
javascript中除了本身的内置对象,如以下我们所熟悉的对象:
Array
Date
Math
String
RegExp
……
各个对象都有自己的属性及方法,比如我们经常使用属性及方法
属性:stringObject.l
http://www.cyqdata.cn/cnblogs/article-detail-36141
闲扯,面向对象的ext4中的一些事儿1
不定期,想到就说,随意扯扯,貌似有1,2,3,4这样的系列估计会太监看到有人针对ext4问了个问题,是关于 singleton的 ,ext的设计者估计是考虑到更面向对象的程序设计所以比较喜欢这样弄,导致的结果就是大;ext4中 定义新的类的方式采用了define,代码如下:Ext.define('A', { singleton: t
http://www.cyqdata.cn/cnblogs/article-detail-35933
各浏览器中中关键字作为对象属性的差异
最近记录了各种各样的标识符 “同名” 现象,有 Javascript中同名标识符优先级 和 有name为action的表单元素时取form的属性action杯具了 。最近又碰到一个,后台同事返回了如下的JSON结构:
{default:{name:'jack'}}
在IE6/7/8中出错了,调试了很久才发现原因。细心的朋友获取已经发现了,default不是JS的关
http://www.cyqdata.cn/cnblogs/article-detail-35932
对象属性之间的相互赋值
(一)前言
当不同命名空间下的两个类具有相同的属性,并且需要进行相互赋值时,如下图中的Jasen.Core.Info类的实例与Jasen.Core.Test.Info类的实例需要相互赋值时,按照一般的思路直接赋值就可以了。通常,这种情况在调用Web Service的时候比较常见。当需要转换的类很多时,亦或者需要转换的属性很多时,我们就需要根据一定的规则来对这种场景来进行设计了,谁也不会傻布拉吉的一
http://www.cyqdata.cn/cnblogs/article-detail-35904
查询对象模式
复杂的数据查询是web系统中很重要的一部分。如果数据访问代码构建在一个Dao对象或者repository对象中其实也是可行的。如果把复杂的数据查询抽离出来单独建模,
让Dao对象和repository对象只留下基本的数据访问访问,不就可行实现更高阶的责任分离了吗。(以下讲解以本文附带的代码为例)
&
http://www.cyqdata.cn/cnblogs/article-detail-35656
晚绑定场景下对象属性赋值和取值可以不需要PropertyInfo…
在《一句代码实现批量数据绑定》中,我通过界面控件ID与作为数据源的实体属性名之间的映射实现了批量数据绑定。由于里面频繁涉及对属性的反射——通过反射从实体对象中获取某个属性值;通过反射为控件的某个属性赋值,所以这不是一种高效的操作方式。为了提升性能,我通过IL Emit的方式创建了一个PropertyAccessor组件,以实现高效的属性操作。如果你看了我在文中给出的三种属性操作性能的测试结果,相信
http://www.cyqdata.cn/cnblogs/article-detail-35505
使用隐藏的new来创建对象
JQ中发现的,jQuery.Event类。估计作者是为了减少代码量。定义一个类,但不用new关键字去创建该类对象,而使用方法调用()方式去创建该对象。
很多时候我们是这样写类,然后使用new创建对象的。
function Person(name,age){
this.name=name;
this.age=age;
}
Person.prototype={
setName
http://www.cyqdata.cn/cnblogs/article-detail-35356
自定义ASP.NET WebApplication中调用SharePoint2010的对象
如果你是做SharePoint开发的话,一定不会对如下这段代码陌生: using(SPSite oSiteCollection = new SPSite("http://Server_Name"))
{
using(SPWeb oWebsite = oSiteCollection.OpenWeb("Website_URL"))
{
http://www.cyqdata.cn/cnblogs/article-detail-32805
[翻译]在jQuery 1.5中使用deferred对象
.postCon h2 {
font-size: 150%;
font-weight: bold;
margin: 15px auto 2px;
}
原文:http://www.erichynds.com/jquery/using-deferreds-in-jquery/
翻译:三生石上(http://cnblogs.com/sanshi/)
译者注:
1. Defe
http://www.cyqdata.cn/cnblogs/article-detail-32506
对象工厂设计模式
如果你在你的某个系统中增加了一个子类,你要创建这个子类的对象,但又不想改变任何原有代码,有可能么?
答案是肯定的,用“对象工厂”设计模式。
对象工厂(Object Factory)是GoF 23种设计模式之外的模式,它既不是抽象工厂(Abstract Factory),也不是工厂方法(Factory Meth
http://www.cyqdata.cn/cnblogs/article-detail-32326
获取事件对象的全家
事件对象 的获取很简单,很久前我们就知道IE中事件对象是作为全局对象( window.event )存在的,Firefox中则是做为句柄( handler )的第一个参数传入内的。所以一行代码就可以搞定
var evt = window.event || arguments[0];
下面分三种添加事件的方式讨论,你也许会看到以前没有看到过的获取方式。
1,第一种添加事件的方式,直接在h
http://www.cyqdata.cn/cnblogs/article-detail-32293
将JavaScript 函数内的arguments 对象转换为数组
函数内的arguments 对象,有人称之为“类数组”对象,因为它具有数组的一些特性:拥有length 属性、并且用数字索引存放着参数以便访问,可大家都知道其实它并不是数组。
有的时候需要将参数列表看作一数组,以便使用数组的一些方法(如concat, splice 等)进行操作,这就要想办法做一个转换,《JavaScript 语言精粹》一书中有类似这么一段操作:
(fun
http://www.cyqdata.cn/cnblogs/article-detail-31856
判断JS对象是否拥有某属性
两种方式,但稍有区别
1,in 运算符
var obj = {name:'jack'};
alert('name' in obj); // --> true
alert('toString' in obj); // --> true
可看到无论是name,还是原形链上的toString,都能检测到返回true。
2,hasOwnProperty 方法
var obj = {
http://www.cyqdata.cn/cnblogs/article-detail-31674
SharePoint开发笔记-为SharePoint2010客户端对象模型创建Silverlight应用程序
此为微软官方的练习,本人只是做了一些易错地方的说明.
在此练习中,我们将创建一个在数据网格中显示 SharePoint 列表的基本 Silverlight 应用程序。列表的数据从服务器检索,因此可用于使用 SharePoint 客户端对象模型的 Silverlight。我们将使用 Visual Studio 2010 解决方案并将其部署到本地 SharePoint 服务器。
任务 1
http://www.cyqdata.cn/cnblogs/article-detail-31639
麻省理工《C内存管理和C++面向对象编程》笔记---第一讲:认识C和内存管理
最近一年都在用.net和Java,现在需要用C了。昨天看到博客园首页的麻省理工开放课程,就找来看看,正好复习一下。这门《C内存管理和C++面向对象编程》不是那种上来就变量,循环的千篇一律的讲法,而是重点讲C的核心机制如内存管理、指针等,这对于我这种有一定编程基础,但很久没用C的人比较适合。简明的plain English,加上生动有趣的描述,看起来即畅快,又令人深受启发。不得不感慨M
http://www.cyqdata.cn/cnblogs/article-detail-28708
对象的自治和行为的扩展与适配
在坏的设计中,数据往往是分散的,甚至是杂乱的,这就好像一群失去意识的猛兽,我们无法控制、协调以及管理它们。这种漫无头绪的散乱数据,犹如猛兽的肆意妄为,会给系统带来无尽的灾难。随着系统的演化,这种灾难会逐渐蔓延至系统的各个角落。因此,在面向对象设计过程中,对数据分类是识别对象的一个前提。但是,仅仅封装了数据的对象,如果没有操作数据的行为,仍旧是没有意识的死亡对象。 我始终认为,对象在拥有自己数据的
http://www.cyqdata.cn/cnblogs/article-detail-25557
SQL Servr 2008空间数据应用系列四:基础空间对象与函数应用
友情提示,您阅读本篇博文的先决条件如下:
1、本文示例基于Microsoft SQL Server 2008 R2调测。
2、具备 Transact-SQL 编程经验和使用 SQL Server Management Studio 的经验。
3、熟悉或了解Microsoft SQL Server 2008中的空间数据类型。
4、具备相应(比如OGC)的GIS专业理论知识。
5
http://www.cyqdata.cn/cnblogs/article-detail-25309
将DataRow转换成相应的对象(通用以及泛型操作)
一直以来对框架非常感兴趣,对大多数框架(目前本人看过的)来说一般分为三个部分:
(1):拼接SQL语句(反射)。
(2):执行CRUD操作,获取相应的DataTable、DataSet等等。
(3):将相应的DataTable、DataSet转换成对象(反射)。
因此可以将上述3个部分各个击破,一步一步来实现自己的框架,看的框架多了,也就成了路。反射在这里面被淋漓尽致的运用,哈哈,站
http://www.cyqdata.cn/cnblogs/article-detail-21021