Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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_Jquery - Fatal编程技术网

Javascript 重新定义变量

Javascript 重新定义变量,javascript,jquery,Javascript,Jquery,您好,我有替换文档的代码。编写,生成缓冲区,然后将缓冲区推入文档: var lazyLoad = (function () { var CONFIG = { block: '', url: '' }; function work(){ buffer = '' d.write = d.writeln = function(s){ bu

您好,我有替换
文档的代码。编写
,生成缓冲区,然后将缓冲区推入文档:

var lazyLoad = (function () {

    var CONFIG = {
        block: '',
        url: ''
    };

    function work(){
        buffer = ''
        d.write = d.writeln = function(s){ 
                                    buffer += s
                                }
        d.open = d.close = function(){}
        s = d.createElement('script');       
        s.setAttribute('type','text/javascript');
        s.setAttribute('src',CONFIG.url);
        d.getElementById(CONFIG.block).appendChild(s)
        s.onload = function () {
            window.setTimeout(function() {

                console.warn(CONFIG.block + ' ' + buffer)
                d.getElementById(CONFIG.block).innerHTML += buffer;
                buffer = '';
            }, 0);
       }
    }

    return {
            init: function (options) {
                $.extend(CONFIG, options);

                window.d = document
                window.onload = function(){
                    work()
                }
            }

    }

})();
如果我初始化它一次:

lazyLoad.init({
            url: 'http://test1.com/test1.js',
            block: DIVID1
        })
但如果我用其他参数再次调用它:

lazyLoad.init({
                url: 'http://test2.com/test2.js',
                block: DIVID2
            })
首先,它不起作用<代码>缓冲区
将为空。我的错在哪里

通过调用
$.extend(配置,选项)
,您将用新配置替换以前的配置


相反,您应该创建一个数组,并将每个
选项
附加到其中。

我对
缓冲区有问题。在第一次初始化之后,它是空的,但在第二次初始化之后,它有一些代码。我认为,
$.extend
不会取代我的缓冲区。