上一页 1 ··· 8 9 10 11 12 13 14 下一页
摘要: 什么是单例呢? 单,就是一个的意思。例:就是实例化出来的对象,那合在一起就是保证一个构造函数只能new出一个实例,为什么要学习单例模式呢?或者说单例模式有哪些常见的应用场景.它的使用还是很广泛,比如:弹出一个模态框,一般来说在网站中弹出的模态框,不停的一直点击,一般只能创建一个。还有后台的数据库连接 阅读全文
posted @ 2017-08-31 20:17 ghostwu 阅读(1615) 评论(2) 推荐(3) 编辑
摘要: 最近在封装一个开源框架,已经写了500行, 已经具备jquery的大多数常用功能,后面还会扩展大量的工具函数和MVVM双向驱动等功能。跟jquery的使用方法完全一样,jquery的选择器,几乎都能支持,为什么说这事,跟这篇文章的主题有毛关系呢?因为这篇文章要讲的就是我在写框架过程中碰到的一个问题, 阅读全文
posted @ 2017-08-30 20:32 ghostwu 阅读(2880) 评论(6) 推荐(1) 编辑
摘要: 在jquery中,插件开发常见的有: 一种是为$函数本身扩展一个方法,这种是静态扩展(也叫类扩展),这种插件一般是工具方法, 还有一种是扩展在原型对象$.fn上面的,开发出来的插件是用在dom元素上面的 一、类级别的扩展 注意要提前引入jquery库, 上例在$函数上面添加了一个方法showMsg, 阅读全文
posted @ 2017-08-29 17:19 ghostwu 阅读(1236) 评论(0) 推荐(1) 编辑
摘要: 发布者订阅者模式,是一种很常见的模式,比如: 一、买卖房子 生活中的买房,卖房,中介就构成了一个发布订阅者模式,买房的人,一般需要的是房源,价格,使用面积等信息,他充当了订阅者的角色 中介拿到卖主的房源信息,根据手头上掌握的客户联系信息(买房的人的手机号),通知买房的人,他充当了发布者的角色 卖主想 阅读全文
posted @ 2017-08-28 22:52 ghostwu 阅读(1611) 评论(3) 推荐(4) 编辑
摘要: 到目前为止,我已经写完了面向对象完整的一个系列知识,前面基本属于理论,原理的理解,接下来,我们就用学到的知识来实战下吧. 看看理解原理和理论是否重要?例子从简单到复杂 一、单体(字面量)封装加减乘除 二、构造函数方式 三、构造函数+原型对象(prototype) 四、寄生组合继承+简单工厂模式 这种 阅读全文
posted @ 2017-08-27 22:12 ghostwu 阅读(826) 评论(0) 推荐(1) 编辑
摘要: 在之前javascript面向对象系列的文章里面,我们已经探讨了组合继承和寄生继承,回顾下组合继承: 组合继承有个缺点,父类的构造函数会被调用两次. 第11行,设置子类原型对象(prototype),调用了第一次 第9行,实例化对象的时候,又调用一次 构造函数的目的是为了复制属性,第9行肯定是不能少 阅读全文
posted @ 2017-08-27 16:28 ghostwu 阅读(4032) 评论(0) 推荐(1) 编辑
摘要: 一、原型式继承本质其实就是个浅拷贝,以一个对象为模板复制出新的对象 object函数中,以对象o为模板,在object函数体里面,定义一个构造函数,让构造函数的原型对象(prototype)指向o, 返回构造函数的一个实例,这样就可以访问到对象o的所有属性和方法. 二、因为原型式继承是个浅拷贝,所以 阅读全文
posted @ 2017-08-27 15:46 ghostwu 阅读(1052) 评论(0) 推荐(1) 编辑
摘要: 于javascript原型链的层层递进查找规则,以及原型对象(prototype)的共享特性,实现继承是非常简单的事情 一、把父类的实例对象赋给子类的原型对象(prototype),可以实现继承 通过把父类(Person)的一个实例赋给子类Teacher的原型对象,就可以实现继承,子类的实例就可以访 阅读全文
posted @ 2017-08-27 11:25 ghostwu 阅读(868) 评论(0) 推荐(0) 编辑
摘要: 我们先来一个简单的构造函数+原型对象的小程序 这个程序,没有什么问题,但是非常的冗余,每次扩展一个方法,都要写一次原型对象,我们可以把原型对象prototype当做一个字面量对象,所有的方法都在字面 量对象中扩展,可以达到同样的效果: 但是这种原型(prototype)对象的写法,属于重写了Crea 阅读全文
posted @ 2017-08-26 19:45 ghostwu 阅读(1612) 评论(3) 推荐(0) 编辑
摘要: 一,instanceof: instanceof检测左侧的__proto__原型链上,是否存在右侧的prototype原型. 我在之前的两篇文章 [js高手之路]构造函数的基本特性与优缺点 [js高手之路]一步步图解javascript的原型(prototype)对象,原型链 已经分享过了. 二、i 阅读全文
posted @ 2017-08-26 16:01 ghostwu 阅读(1558) 评论(0) 推荐(0) 编辑
摘要: 我们接着上文继续,我们通过原型方式,解决了多个实例的方法共享问题,接下来,我们就来搞清楚原型(prototype),原型链的来龙去脉. 1,每个函数都有一个原型属性(prototype) , 这个属性是一个指针,指向构造函数的原型对象( CreateObj.prototype), 如上图中的第1根绿 阅读全文
posted @ 2017-08-26 11:18 ghostwu 阅读(1424) 评论(1) 推荐(1) 编辑
摘要: 上文,通过基本的对象创建问题了解了构造函数,本文,我们接着上文继续了解构造函数的基本特性,以及优缺点. 每个对象上面都有一个constructor属性( 严格意义上来说,是原型上的,对象是通过查找到原型找到 constructor属性 ).后面讲到原型的时候,我会用示意图的方式说明 默认情况下,对象 阅读全文
posted @ 2017-08-26 09:55 ghostwu 阅读(5244) 评论(0) 推荐(2) 编辑
摘要: javascript面向对象编程方式,对于初学者来说,会比较难懂. 要学会面向对象以及使用面向对象编程,理解对象的创建在内存中的表示,至关重要. 首先,我们来一段简单的对象创建代码 上例,我们创建了两个对象obj和obj2, 如果有多个类似对象,我们可以通过函数封装,这种函数封装方式,在设计模式里面 阅读全文
posted @ 2017-08-25 22:16 ghostwu 阅读(1243) 评论(0) 推荐(1) 编辑
摘要: 这里在之前的文章[js高手之路] 设计模式系列课程 - jQuery的链式调用与灵活的构造函数基础上增加一个extend浅拷贝,可以为对象方便的扩展属性和方法, jquery的插件扩展机制,大致就是这个原理. 测试用例: 上例把对象src拷贝到dst, 在src对象中加了一个引用类型skills, 阅读全文
posted @ 2017-08-25 14:51 ghostwu 阅读(778) 评论(0) 推荐(0) 编辑
摘要: 一、我们从一个简单的构造函数+原型程序开始 上例是个非常简单的程序,如果需要调用,我们可以用new的方式 var oG = new G(); console.log( oG.size() ); //5 1、常见的错误调用方式1 console.log( G.size() ); //报错 G.size 阅读全文
posted @ 2017-08-25 13:50 ghostwu 阅读(1149) 评论(6) 推荐(3) 编辑
摘要: HTML5规定可以为元素添加非标准的属性,但要添加前缀 data- ,目的是为元素提供与渲染无关的信息,或者提供语义信息。这些属性可以任意添加、随便命名,只要以 data- 开头即可 添加了自定义属性之后,可以通过元素的 dataset 属性来访问自定义属性的值 阅读全文
posted @ 2017-08-24 16:26 ghostwu 阅读(1068) 评论(0) 推荐(0) 编辑
摘要: 在html5新增的classList之前, 操作元素的class用的是className这个属性,而如果要向jquery封装的hasClass, removeClass, addClass, toggleClass一样优雅的操作calssName, 在以前我们要对className封装处理,如下, 阅读全文
posted @ 2017-08-24 11:32 ghostwu 阅读(1605) 评论(0) 推荐(0) 编辑
摘要: 本文主要讲解DOM常用的CURD操作,appendChild(往后追加节点),insertBefore(往前追加节点),removeChild(移除节点),replaceChild(替换节点),cloneNode(克隆节点)的语法与实战应用 一、appendChild: 向元素的内部最后面增加一个节 阅读全文
posted @ 2017-08-23 14:42 ghostwu 阅读(964) 评论(0) 推荐(1) 编辑
摘要: 一、每个DOM节点都有一个nodeType属性,表示节点类型, NodeType一共有12种类型,我们可以通过遍历内置的Node构造函数获取 其中,最常用的是1(元素节点) 和 3( 文本节点 ).可以结合childNodes做一个简单的应用 上例,给li加背景颜色, childeNodes在chr 阅读全文
posted @ 2017-08-22 21:51 ghostwu 阅读(1524) 评论(0) 推荐(2) 编辑
摘要: 如果你对jquery比较熟悉的话,应该用过 eq, first, last, get, prev, next, siblings等过滤器和方法。本文,我们就用迭代设计模式来封装实现,类似的功能 阅读全文
posted @ 2017-08-21 21:05 ghostwu 阅读(633) 评论(0) 推荐(2) 编辑
上一页 1 ··· 8 9 10 11 12 13 14 下一页
Copyright ©2017 ghostwu