JS笔记 ( 十二 ) 继承模式 命名空间


博主的 Github 地址


1. 继承模式

  • 继承模式分为 4 种: 传统模式, 借用构造函数, 共享原型和圣杯模式

(1) 传统模式

  • 传统模式的继承是直接通过原型链进行继承
    即以上一个构造函数产生的对象为原型进行继承
    被继承对象中又包含了对其原型的指向
    因此这种方式继承的话会过多的继承了一些没用的属性

(2) 借用构造函数

  • 通过调用别的对象的构造函数来进行构造对象
    这种方法并不能继承被借用的构造函数的原型
    每次进行构造对象的时候都要多走一个函数, 效率会很低

(3) 共享原型

  • 两个构造函数间共用一个原型
    但使用这种方式进行继承不能随意的改动原型,
    一但原型进行了修改, 凡是继承了这个原型的对象都会受到影响

(4) 圣杯模式

function inherit(Target, Origin){
	function F(){};
	F.prototype = Origin.prototype;
	Target.prototype = new F();
	Target.prototype.constructor = Target;
	Target.prototype.uber = Origin.prototype;
}
  • 这种模式会让每个继承的子类之间的原型互不干扰,
    但是这种过程属于继承了 2 次,
    第一次是函数体内部的临时函数拷贝了被继承函数的原型,
    第二次是目标函数从临时函数创建的对象身上继承了原型链,
    因此目标函数即便修改原型, 也不会影响被继承函数的原型, 因为始终隔着一代.

2. 命名空间

  • 管理变量, 防止污染全局, 适用于模块化开发
  • 将变量放到对象中去, 防止多个 js 文件同时引用发生变量冲突
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值