我面临着一种奇怪的情况。我正在向方法发送一个参数。在接收端我得到了不同的参数。
这是屏幕截图。
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>
JS小提琴链接:http://jsfiddle.net/993Wu/15/
发送:{}。
预期:{}
答案 0 :(得分:0)
这是因为console
的输出显示了对象的状态,因为它现在是,而不是,就像你调用console.log
<时那样/ em>的
在输出对象的当前状态的最佳方法是JSON.stringify()
输出它;请注意,这将删除所有函数和非JSON属性。