还是以鸭子唱歌为例 1、prototype 给对象添加方法或属性 给定义的Duck和 Chicken添加sound的方法 2、typeof和instanceof用法 只有具有sound方法的动物才能唱歌 1)typeof 用来检测给定变量的数据类型,可能的返回值: 1. 'undefined' 这个 ...
分类:
编程语言 时间:
2016-09-12 06:05:23
阅读次数:
144
在JavaScript里,实现单例的方式有很多种,其中最简单的一个方式是使用对象字面量的方法,其字面量里可以包含大量的属性和方法: 如果以后要扩展该对象,你可以添加自己的私有成员和方法,然后使用闭包在其内部封装这些变量和函数声明。只暴露你想暴露的public成员和方法,样例代码如下: 上面的代码很不 ...
分类:
编程语言 时间:
2016-09-09 15:07:42
阅读次数:
210
单体是一个用来划分命名空间并将一些相关的属性与方法组织在一起的对象,如果她可以被实例化的话,那她只能被实例化一次(她只能嫁一次,不能二婚)。 单体模式是javascript里面最基本但也是最有用的模式之一。 特点:1. 可以用来划分命名空间,从而清除全局变量所带来的危险或影响。 2. 利用分支技术来 ...
分类:
编程语言 时间:
2016-09-09 13:31:02
阅读次数:
246
概述 观察者模式又叫发布 – 订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个目标对象(为了方便理解,以下将观察者对象叫做订阅者,将目标对象叫做发布者)。发布者的状态发生变化时就会通知所有的订阅者,使得它们能够自动更新自己。 观察者模式的使用场 ...
分类:
编程语言 时间:
2016-09-06 15:39:53
阅读次数:
209
singleton(单例)模式被熟知的原因是因为它限制了类的实例化次数只能一次,单例模式,在该实例不存在的勤快下,可以通过一个方法创建一个类来实现创建类的新实例;如果实例已经存在,则会简单返回该对象的引用。单例模式不同于静态类(或对象),因为我们可以推迟它们的初始化,这通常是因为它需要一些信息,而这些信息在初始化期间可能无法获取,对于没有察觉到之前的引用代码,它们不会提供方便检索方法,这是因为它既不...
分类:
编程语言 时间:
2016-08-22 15:01:23
阅读次数:
138
因为是学习笔记,里面并没有很多注释和讲解,所有不太适合0基础的朋友看,只能说抱歉了。 这些笔记目前还存在很多的问题,不过我相信再今后的学习过程中会把这些问题挨个的解决。 除了前面3节后面的都不分前后顺序。 初了解JS设计模式,学习笔记 1 设计模式之封装,学习笔记 2 设计模式之原型,学习笔记 3 ...
分类:
编程语言 时间:
2016-08-21 18:36:40
阅读次数:
134
模块是任何强大应用程序中不可或缺的一部分,它通常能帮助我们清晰地分离和组织项目中的代码单元。js中实现模块的方法:
对象字面量表示法
Module模式
AMD模块
CommonJS模块
ECMAScript Harmony 模块
对象字面量对象字面量不需要使用new运算符进行实例化,但不能用在一个语句的开头,因为开始的可能被解读为一个块的开始,在对象的外部,新成员可以使用如下赋值语句添加到对象字面量...
分类:
编程语言 时间:
2016-08-19 11:25:04
阅读次数:
199
Constructor是一种在内存已分配给该对象的情况下,用于初始化新创建对象的特殊方法。Object构造器用于创建特定类型的对象–准备好对象以备使用,同事接收构造器可以使用参数,以在第一次创建对象时,设置成员属性和方法值。对象创建
创新新对象,在javascript中通常有两种方法:
对象直面量方法
var newObj = {};
构造器的简洁方法
var newObj = new Ob...
分类:
编程语言 时间:
2016-08-19 08:36:55
阅读次数:
179
编写易于维护的代码,其中一个最重要的方面是能够找到代码重复出现的主体并优化它们。这也是设计模式的有价值的地方。...
分类:
编程语言 时间:
2016-08-10 11:06:10
阅读次数:
221
Javascript设计模式记录,这个方面确实是没写过,工作中也没有用到js设计模式的地方。 单例模式 保证一个类仅有一个实例,并提供一个访问它的全局访问点。例如:线程池,全局缓存,登录浮窗。 首先我们需要把单例的逻辑代码单独提取,然后使用惰性单例的方式,也就是返回方法。只有在点击的时候,才会进行执 ...
分类:
编程语言 时间:
2016-08-09 18:51:07
阅读次数:
252