$(function () { 
var object1 = {
apple: 0,
banana: {weight: 52, price: 100},
cherry: 97
};
var object2 = {
banana: {price: 200},
durian: 100
};
/* object2 合并到 object1 中 */
$.extend(object1, object2);
/*判断是否存在对象如果有则直接调用该对象将普通对象转换成json数据 
否则创建一个函数用于讲普通对象转换成普通数组数据 返回时经过拆分重组成json数据*/
var printObj = typeof JSON != "undefined" ? JSON.stringify : function(obj) {
var arr = [];
$.each(obj, function(key, val) {
var next = key + ": ";
/*isPlainObject判断是否为对象 否则回调本函数*/
next += $.isPlainObject(val) ? printObj(val) : val;
arr.push( next );
});
/*
join将数组用‘,’分隔开
*/ return "{ " + arr.join(", ") + " }"; }; $("#log").append( printObj(object1) ); })

 


$.isPlainObject(val
))
jQuery.isPlainObject()函数的返回值为Boolean类型,如果指定的参数是纯粹的对象,则返回true,否则返回false

  

 

JSON对象的stringify方法将对象转换成json

console.log(JSON.stringify({
        apple: 0,
        banana: {weight: 52, price: 100},
        cherry: 97
    }));

 

 extend

2. 如果多个对象具有相同的属性,则后者会覆盖前者的属性值。

$.extend( target [, object1 ] [, objectN ] )

  

指示是否深度合并


$.extend( [deep ], target, object1 [, objectN ] )//deep 可选。 Boolean类型 指示是否深度合并对象,默认为false。如果该值为true,且多个对象的某个同名属性也都是对象,则该"属性对象"的属性也将进行合并。

  

posted on 2019-07-31 17:59  渐凸强、啊哈  阅读(295)  评论(0编辑  收藏  举报