javascript单例模式字面量定义的接口和匿名函数定义的接口;他们之间访问私有变量和私有函数之间的区别

javascript的单例模式:即只有一个实例;

模块模式是在单例模式上扩展而来的

//这种是字面量定义了单例对象的公共接口;

字面量对象调用私有变更和私有函数

javascript 复制代码
var Book=(function(){
    let name='';
    checkBook=function(value){
        name=value;
    }
    return{
        setName:function(value)
        {
            checkBook(value);
        },
        getName:function(){
            return name;
        }
    }
})();
Book.setName('daf');
console.log(Book.getName());

//这种是必须用new实例化对象,再返回匿名函数对象

匿名函数做为公共接口,调用私有变更和私有函数

javascript 复制代码
let Book=(function(){
    let bookName='';
    function inputName(name){
        bookName=name;
    }
    return function(){
        this.setName=function(value)
        {
            inputName(value);
        };
        this.getName=function(){
            return bookName;
        }
    }
})();

let book=new Book();
book.setName('fasdfe');
console.log(book.getName());

可看看他们接口只间的区别和实例化调用的区别

相关推荐
春日见4 分钟前
如何创建一个PR
运维·开发语言·windows·git·docker·容器
C++ 老炮儿的技术栈7 分钟前
VS2015 + Qt 实现图形化Hello World(详细步骤)
c语言·开发语言·c++·windows·qt
派葛穆14 分钟前
Python-批量安装依赖
开发语言·python
MSTcheng.26 分钟前
【C++】C++11新特性(二)
java·开发语言·c++·c++11
晓131328 分钟前
第七章 【C语言篇:文件】 文件全面解析
linux·c语言·开发语言
愚者游世29 分钟前
Delegating Constructor(委托构造函数)各版本异同
开发语言·c++·程序人生·面试·改行学it
梵刹古音31 分钟前
【C语言】 指针基础与定义
c语言·开发语言·算法
云姜.31 分钟前
单例模式及线程安全问题
单例模式
Ekehlaft34 分钟前
这款国产 AI,让 Python 小白也能玩转编程
开发语言·人工智能·python·ai·aipy
rit843249937 分钟前
MATLAB中Teager能量算子提取与解调信号的实现
开发语言·matlab