js单例模式的两种方案

前端技术 2023/09/01 JavaScript

方案一:利用闭包的两个作用,可以变通地读到内部的变量,二是可以让这些变量始终在内存中。

复制代码 代码如下:

//方案一
    var SingletonTester = (function () {
        //单例方法
        function Singleton(args) {
            var args = args || {};
            this.name = \'SingletonTester\'; //方法对外的属性,另外一种方式就是返回对象
            this.pointX = args.pointX || 6;
            this.pointY = args.pointY || 10;
        }

        //单例实例
        var instance;

        //返回对象
        return {
            name: \'SingletonTester\',

            getInstance: function (args) {
                if (instance === undefined) {
                    instance = new Singleton(args);
                }
                return instance;
            }
        };
    })(); //直接执行该方法

    //测试
    var test = SingletonTester.getInstance({ pointX: 5 });
    console.log(test.pointX);

本文地址:https://www.stayed.cn/item/2579

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。