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());

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

相关推荐
java1234_小锋3 分钟前
PyTorch2 Python深度学习 - 模型保存与加载
开发语言·python·深度学习·pytorch2
行走的陀螺仪16 分钟前
uni-app + Vue3 实现折叠文本(超出省略 + 展开收起)
前端·javascript·css·uni-app·vue3
冴羽19 分钟前
JavaScript 异步循环踩坑指南
前端·javascript·node.js
ACP广源盛1392462567328 分钟前
(ACP广源盛)GSV2231---DisplayPort 1.4 MST 到 HDMI 2.0/DP/Type-C 转换器(带嵌入式 MCU)
c语言·开发语言·单片机·嵌入式硬件·音视频·mst
quant_198628 分钟前
【教程】使用加密货币行情接口 - 查询比特币实时价格
开发语言·后端·python·websocket·网络协议
熊猫_豆豆36 分钟前
Python 写一个标准版和程序员版计算器
开发语言·python·计算器
Mr.Jessy43 分钟前
Web APIs 学习第四天:DOM事件进阶
开发语言·前端·javascript·学习·ecmascript
醉方休1 小时前
开发一个完整的Electron应用程序
前端·javascript·electron
studyForMokey1 小时前
【Kotlin内联函数】
android·开发语言·kotlin
小虚竹1 小时前
Rust日志系统完全指南:从log门面库到env_logger实战
开发语言·后端·rust