面向对象编程

单例设计模式 (Singleton Pattern)

利用多个命名空间创造某类的多个不同的实例,实例之间相互独立,互不影响

表现形式

let obj = {
    xxx :'xxx',
    ...
}

在单例设计模型中,obj也叫做命名空间[NameSpace]

作用

把描述同一事物的属性特征进行分组归类(储存到同一堆内存中),使不污染其他变量或冲突

高级单例模式 ***

let nameSpace = (function(){
    function fn ()={
        //...
    }
    return {
        fn:fn
    }
}()
原理

先形成私有作用域(一个不会销毁的栈内存),在其中创造一个堆内存并返回

好处

可以在其中创造很多变量/函数,而最终只暴露出我们需要使用的对象(一种模块化编程思想)

工厂模式 (Factory Pattern)

  • 把实现相同功能的代码进行封装,以此实现批量生产
  • 低耦合高内聚
function createObj (name,age){
    let obj = {};
    obj.name = name;
    obj.age = age;
    return obj;
}
let p1=createObj("zs",18);
let p2=createObj("ls",19);

面向对象

  • 对象 (万物皆对象)
  • 类(对象的具体细分)
  • 实例(类的具体一个)

构造函数

function Fn (){...}
let f1 = new Fn();
let f2 = new Fn();


let a = 12;
let b = new Number (12)  ;
typeof(a) //-->number
typeof(b) //-->Object
//两种方式都创造出number的实例,字面量方式创造出的是基本类型,而构造函数创造出的是引用类型;但都能使用类提供的属性方法

看这篇详解构造函数

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值