美文网首页
模块模式

模块模式

作者: ticktackkk | 来源:发表于2020-11-25 16:26 被阅读0次

模块模式

模块 模式实在单例对象上加上扩展,通过作用域链来关联私有变量和特权方法
对象字面量封装模块,闭包实现私有和公有。它提供了一种包装混合公有/私有方法和变量的方式,防止其泄露至全局作用域。为我们提供了一个屏蔽处理底层事件逻辑的整洁解决方案,同时只暴露一个接口供其他部分使用。该模式的特点是返回一个对象而不是一个函数,除此之外非常类似一个立即调用的函数表达式。

var myGirlfriend = (function() {
            let name ='baby'
            let _smile = ()=>{
                console.log('smile');
            }
            let _kiss =()=>{
                console.log('kiss');
            }
            return {
                name:name,
                smile:_smile
            }
        })()
      console.log(myGirlfriend.name);//baby
      myGirlfriend.smile()//smile
      console.log(myGirlfriend.kiss);//undefind

简而言之,经过我的同意,你可以知道我女朋友的名字,可以看我女朋友的微笑,但你不可以吻她

增强模块模式

适合那些单列必须是某种类型的实例,同时还必须添加某些属性或方法对其加以增强的情况。

function CustomType() {
    this.name = "GaoSir";
};
CustomType.prototype.getName = function(){
    return this.name;
}
var application = (function(){
    // 定义私有
    var privateA = "privateA";
    // 定义私有函数
    function privateMethodA(){};

    // 实例化一个对象后,返回该实例,然后为该实例增加一些公有属性和方法
    var object = new CustomType();

    // 添加公有属性
    object.publicA = "publicA";
    // 添加公有方法
    object.publicB = function(){
        return privateA;
    }
    // 返回该对象
    return object;
})();

console.log(application.publicA);// publicA

console.log(application.publicB()); // privateA

console.log(application.name); // GaoSir

console.log(application.getName());// GaoSir

相关文章

  • 前端设计模式

    模块模式 工厂模式 构造函数模式 混合模式 单例模式 发布订阅模式 模块模式 用于模块封装,用立即执行的函数嵌套一...

  • 《SPA设计与架构》之JavaScript模块化

    原文 博客原文 大纲 1、什么是模块?2、基本的模块模式3、模块模式概念4、模块结构5、揭示模式6、模块编程的意义...

  • 高级任务6-前端设计模式

    写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例 构造函数模式 混合模式 模块模式 ...

  • 前端设计模式

    写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 构造函数模式 混合模式 模块模式...

  • 前端设计模式

    写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 构造函数模式 混合模式 模块模式...

  • 高级6

    1、写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 构造函数: 混合模式: 模块...

  • 高级任务6---前端设计模式

    1、写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 构造函数模式 混合模式 模块...

  • 前端设计模式

    1.写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 工厂模式 模块模式 构造函数...

  • 前端设计模式

    1. 写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 模块模式var Perso...

  • 前端设计模式

    1.写出 构造函数模式、混合模式、模块模式、工厂模式、单例模式、发布订阅模式的范例。 构造函数模式混合模式模块模式...

网友评论

      本文标题:模块模式

      本文链接:https://www.haomeiwen.com/subject/mseniktx.html