常用的ES6新特性--解构赋值

2019-01-29
阅读 3 分钟
1.3k
数组的解构赋值 {代码...} 不完全解构 {代码...} 对于set结构,可以使用数组的解构数组 {代码...} 主要数据结构具有Iterator接口,都可以采用数组形式的解构赋值,如下斐波那契数列的例子,利用generator函数 {代码...} 默认值 解构赋值允许指定默认值,es6内部使用严格相等运算符===判断一个位置是否有值,所以只有当一个...

JavaScript设计模式-原型模式

2018-09-29
阅读 2 分钟
1.6k
原型模式:用原型实例指向创建对象的类,使用于创建新的对象的类共享原型对象的属性以及方法。父类总是要被子类继承的,如果将属性和方法都写在父类的构造函数里会有一些问题,比如每次子类继承都要创建一次父类,假如父类的构造函数中创建时存在很多耗时的逻辑,或者每次初始化都要做一些重复性的东西,这样性能消耗还...

JavaScript设计模式-建造者模式

2018-09-28
阅读 3 分钟
1.4k
建造者模式将一个复杂对象的构建层与其表示层相互分离,同样的构建过程可采用不同的表示。工厂模式主要是为了创建对象实例或者类簇(抽象工厂),关心的是最终产出(创建)的是什么,而不关心创建的过程。而建造者模式关心的是创建这个对象的整个过程,甚至于创建对象的每一个细节。以下以创建应聘者为例:应聘者有兴趣爱...

JavaScript设计模式-抽象工厂模式

2018-09-27
阅读 2 分钟
1.3k
抽象类是一种声明但是不能使用的类,当使用时就会报错。在JavaScript中,abstract还是一个保留字,不能像传统的面向对象语言那样轻松创建。但是JavaScript是灵活的,可以在类的方法中手动地抛出错误来模拟抽象类。如下:

JavaScript设计模式-工厂方法模式

2018-09-26
阅读 1 分钟
1.6k
工厂方法模式,通过对产品类的抽象使其创建业务,主要负责创建多类产品的实例。前面记录了简单工厂模式,但是需求时不断变化的,当需求简单时,直接创建对象就行,需求多了就可以用简单工厂重构,但是当需求不断增加时,我们不仅要添加类,还要修改工厂函数,这样很不友好,所有还需要更好的模式来适应更多的需求。

JavaScript设计模式- 简单工厂模式

2018-09-25
阅读 2 分钟
1.5k
简单工厂模式又叫静态工厂方法模式,由一个工厂对象决定创建某一种产品对象类的实例。主要用来创建同一类对象。场景一:比如体育商店卖体育器材,里面有很多体育用品,及相关介绍,当我们想买一个篮球及相关介绍时,只需要温售货员,他会帮你找到所有的东西。

JavaScript面向对象编程-多态

2018-09-21
阅读 1 分钟
912
在面向对象中有一种特性叫多态,就是同一种方法的多种调用方式,在JavaScript中也可以实现,只不过是对传入的参数做判断以实现多种调用方式。

JavaScript面向对象编程-继承(四)

2018-09-21
阅读 2 分钟
1.2k
一些面向对象语言中支持多继承,在JavaScript也能实现多继承,但是有一些局限,因为在JavaScript中继承是依赖原型prototype链实现的,只有一条原型链,所以理论上是不能继承多个父类的。但是JavaScript很灵活,通过一些技巧方法可以继承多个对象的属性来实现类似的多继承。

JavaScript面向对象编程-继承(三)

2018-09-19
阅读 2 分钟
1.1k
前面学习了类式继承和构造函数继承组合使用,也就是组合继承,但是这种继承方式有个问题,就是子类不是父类的实例,而子类的原型是父类的实例。子类不是父类实例的问题是由类式继承引起的。因此还有一种更好的继承方式,那就是寄生组合式继承,也就是寄生式继承和构造函数继承的组合,因为寄生式继承依托于原型继承,原...

javaScript面向对象编程-继承(二)

2018-09-18
阅读 2 分钟
874
原型继承是对类式继承的一种封装,其中的过渡对象就相当于类式继承中的子类,只是在原型式中作为一个过渡对象出现,目的是创建要返回的新的实例化对象。和类式继承一样,父类对象book中指类型的属性被复制,引用类型的属性被共有。

javaScript面向对象编程-继承(一)

2018-09-17
阅读 3 分钟
1.1k
类有三部分 构造函数内的,供实例化对象复制用的 构造函数外的,直接通过点语法添加的,供类使用,实例化对象访问不到 类的原型中的,实例化对象可以通过其原型链间接地访问到,也是供所有实例化对象所共用的。 类式继承 类的原型对象的作用就是为类的原型添加共有方法,但类不能访问这些属性和方法,只有通过原型protot...

JavaScript面向对象编程-封装

2018-09-16
阅读 2 分钟
1.3k
面向对象编程是将需求抽象成一个对象,针对对象分析其特征(属性)和动作(方法)。这个对象我们称之为类。面向对象编程思想其中一个特点就是封装,就是把需要的功能放在一个对象里。但是JavaScript这种解释性的弱类型语言没有经典强类型语言中通过关键字class来实现类的封装,JavaScript都是通过一些特性模仿实现的,这...

打补丁:linux中 的Diff和patch

2018-09-15
阅读 1 分钟
4.2k
diff和patch是一对工具,从数学上来讲,diff是对两个集合的差运算,patch是两个集合的和运算。基本命令语法:patch [-R] {-p(n)} [--dry-run] < patch_file_name

ovirt笔记:通过登录策略配置模块来熟悉系统的框架

2018-09-13
阅读 13 分钟
1.5k
登录限制策略模块包括一张login_configs表,6个存储过程(Insertloginconfigs,Updateloginconfigs,Deleteloginconfigs,GetAllFromloginconfigs,GetloginconfigsById和GetloginconfigsByName),以及一个LoginConfis的实体类LoginConfigs表格只有6个字段,在create_tables.sql中创建表格

vue的全局变量和全局拦截请求器

2018-09-12
阅读 2 分钟
6.3k
全局变量专用模块Global.vue是以一个特定模块来组织管理全局变量,需要引用的地方导入该模块即可。使用方法如下:将全局变量模块挂载到Vue.prototype里,在程序入口的main.js里加下面代码:

ovirt笔记:基于ovirt4.0的虚拟资源管理的权限分析

2018-09-11
阅读 3 分钟
1.5k
虚拟资源管理平台是在ovirt4.0的基础上开发的,从原有的一个admin用户扩展成三个管理员用户和普通用户,下面简单分析一下其实现权限管理的原理。