温故而知新:8.重学javascript笔记(js之单例模式和工厂模式)

1.单例模式

  • 把描述同一事物的属性和方法放在同一个内存空间下,起到分组作用,这样不同事物之间的属性即使属性名和方法名相同也互不影响,这种编码模式称之为单例模式
    例:
  var persion1 = {
     name:'张三',
     age:18
 }
 var persion2 = {
     name:'李四',
     age:18
 }
 //persion1和persion2称为命名空间。
  • 模块化开发:将一个大型项目划分为不同的功能模块交给不同的人同时进行开发,最后合并代码称之为模块化开发。
  • 作用:避免变量的污染
  • 单例模式缺点:生产效率低,不能批量生产,手工作业模式。

2.工厂模式

  • 工厂模式就是函数中使用单例模式,把实现相同的事情写在函数中,以后遇到相同功能直接调用函数,不需要重新写相同的代码。(函数的封装)
    例:
   function createPersion(name,age){
     var obj = {}
     this.name = name,
     this.age = age,
     obj.sayHelllo = function(){
      console.log('hello js')
  }
  return obj;
}
  • 作用:减少页面中的冗余代码,提高代码的复用性。(低耦合,高内聚)

3.面向对象语言特征

1)继承:子类继承父类中的属性和方法
2)封装:把实现相同的事情写在函数中,以后遇到相同功能直接调用函数,不需要重新写相同的代码
3)多态:当前方法的多种形态(在后台语言当中多态包含重载和重写)

  • 后台重载:相同的函数因为参数不相同,传的参数会自动匹配对应的函数执行。
  • 前端重载:js当中不存在重载,方法名一样的话后面的会把前面的覆盖掉,最后只保留一个。
  • 重写:子类重写父类的方法。(js中存在)
  • js模拟重载就是通过if else判断传递参数然后实现不同的功能。
    例:
   function sum(num){
            if(num){
                return num
            }else{
                return 0
           }
    }
    • 重载的本质就是将多个功能相近的函数合并为同一个函数
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值