Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用单例初始化变量_Javascript_Design Patterns_Initialization_Singleton - Fatal编程技术网

Javascript 使用单例初始化变量

Javascript 使用单例初始化变量,javascript,design-patterns,initialization,singleton,Javascript,Design Patterns,Initialization,Singleton,我正在学习设计模式,在书中的一个任务中,我有两个全局变量。收集数据和数据。我想在启动时初始化它们,类似于下面的代码。数据为输入字段,采集为函数。任务是用singleton来做,这可能吗?。网络上的所有示例都是函数和单个实例 "use strict"; var data; var collected = []; window.onload = function() { data = document.querySelector("#data"); cole

我正在学习设计模式,在书中的一个任务中,我有两个全局变量。收集数据和数据。我想在启动时初始化它们,类似于下面的代码。数据为输入字段,采集为函数。任务是用singleton来做,这可能吗?。网络上的所有示例都是函数和单个实例

"use strict";
var data;
var collected = [];

    window.onload = function() {
        data = document.querySelector("#data");
        colected = function() {
            console.log(data);
        }
    }

由于JS具有原型继承,人们可以争论什么是单例。我认为这实际上是js中对象的另一个定义:


一切皆有可能。然而,我没有看到任何用例在这里。。。
var myobj={
 data,
 collected,
 initializer(){
  return ()=>{
   this.data = document.querySelector("#data");
    this.colected = function() {
        console.log(data);
    };
  };
 }
};

window.onload=myobj.initializer();