Javascript JS:从函数接收的参数与实际参数不同

Javascript JS:从函数接收的参数与实际参数不同,javascript,Javascript,我正面临一个奇怪的局面。我正在向该方法发送一个参数。在接收端,我得到了不同的参数 这是屏幕截图 JS代码: <script> var defaultOptions = { chart:{ "type":"series", "container":"#container", "width":700, "height":500, "margin":{ "left":1

我正面临一个奇怪的局面。我正在向该方法发送一个参数。在接收端,我得到了不同的参数

这是屏幕截图

JS代码:

    <script>
var defaultOptions = {
    chart:{
        "type":"series",
        "container":"#container",
        "width":700,
        "height":500,
        "margin":{
            "left":100 , top:50 , right:10 , "bottom":50
        }
    }

};



var Util = {
    /**
     *@return true if the given object is an valid one.
     */
    valid: function(obj){
        return obj !== undefined && obj !== null;
    },
    /**
     *@param a {object} to extend.
     *@param b {object} 
     *@return {object}
     */
    extend:function(a , b){
        var m;
        if(!Util.valid(a)){
            a = {};
        }
        for(m in b){
            a[m] = b[m];
        }
        return a;
    }

};


function Chart(opt){
    console.log(opt);
    /**
     *Setting default chart options.
     */
    Util.extend(opt , defaultOptions);


}


var ChartLite = {}; 

Util.extend(ChartLite , {
    Chart:Chart
});
</script>

<script>
$(function(){
    var chart = new ChartLite.Chart({});
});
</script>

var defaultOptions={
图表:{
“类型”:“系列”,
“容器”:“容器”,
“宽度”:700,
“高度”:500,
“保证金”:{
“左”:100,顶部:50,右侧:10,“底部”:50
}
}
};
var Util={
/**
*@如果给定对象是有效对象,则返回true。
*/
有效:功能(obj){
返回obj!==undefined&&obj!==null;
},
/**
*@要扩展的参数{object}。
*@参数b{object}
*@返回{object}
*/
扩展:功能(a,b){
var-m;
如果(!Util.valid(a)){
a={};
}
(b中的m){
a[m]=b[m];
}
返回a;
}
};
功能表(opt){
控制台日志(opt);
/**
*设置默认图表选项。
*/
Util.extend(opt,defaultOptions);
}
var ChartLite={};
Util.extend(ChartLite{
图表:图表
});
$(函数(){
var chart=new ChartLite.chart({});
});
JS Fiddle链接:

发送:{}


预期:{}

这是因为
控制台
的输出显示了对象的当前状态,而不是调用
控制台.log时的状态


获取对象当前状态的最佳方法是在输出对象之前对其进行
JSON.stringify()
;请注意,这将删除所有函数和非JSON属性

你在期待什么?在代码中,收到的值打印在哪里?@Barmar,函数图(opt){console.log(opt);在图表方法中。我在上面浪费了30分钟。我在调用
extend
method之前打印了。非常感谢。