Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/403.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 将值分配给singleton';s对象_Javascript - Fatal编程技术网

Javascript 将值分配给singleton';s对象

Javascript 将值分配给singleton';s对象,javascript,Javascript,我得到了一个示例代码,其中我尝试将值分配给singleton的对象: var myVariable; var mySingleton = ( function() { var INSTANCE; var single = { variable1 : null, variable2 : null, variable3 : null, variableOptions : [ { varia

我得到了一个示例代码,其中我尝试将值分配给singleton的对象:

var myVariable; 

var mySingleton = ( function() {
    var INSTANCE;

    var single = {
        variable1 : null,
        variable2 : null, 
        variable3 : null,
        variableOptions : [ {
            variableOption1 : null,
            variableOption2 : null
        } ]
    };

    I meant like that:

return {
    getMySingleton : function() { return single },
    setMySingleton : function( singletonParameter ) { $.extend( single, singletonParameter ) },
    getSingletonOptions : function ( index ) { return single.variableOptions[index] },
    setSingletonOptions : function( index, OptionsSingleton ) { $.extend( single.variableOptions[index] , OptionsSingleton )    },
    getInstance : function() {
        if (!INSTANCE) {
            INSTANCE = this;                    
        }
        return INSTANCE;
    }
}
})();

$(function() {
    var idx = 0;

    myVariable = mySingleton.getInstance(); // new empty instance
    $.each( $('#list > li'), function() {
        myVariable.setSingletonOptions(idx, { 
                                            variableOption1 : $(this).find('[id*="variableOption1_"]').val(),
                                            variableOption2 : $(this).find('[id*="variableOption2_"]').val()
        });
        idx++;
    });
    myVariable.setMySingleton({
        variable1 : $(this).find('[id*="variable1_"]').val(),
        variable2 : $(this).find('[id*="variable2_"]').val(),
        variable2 : $(this).find('[id*="variable2_"]').val()
    });

    console.log( myVariable.getMySingleton() );
});
但当我调试到console.log时,我得到的变量内容为null。。。我错过了什么?我以为这是关于通过价值传递的

干杯,
Luigi

哪里定义了
myCurrentSingleton
?另外,您在匿名函数中定义了
single
对象,但没有任何对象引用它。我重新编辑了帖子。。。很抱歉,我在测试时没有正确编写代码。。。我在singletonI中引用了“single”对象,我不明白为什么人们使用
getInstance
方法,而JS允许您从构造函数中返回所需的内容。我宁愿使用.myCurrentSingleton的定义在哪里?另外,您在匿名函数中定义了
single
对象,但从未引用过它。我重新编辑了帖子。。。很抱歉,我在测试时没有正确编写代码。。。我在singletonI中引用了“single”对象,我不明白为什么人们使用
getInstance
方法,而JS允许您从构造函数中返回所需的内容。我宁愿使用。