Jquery 扩展、字符串化和isPlainObject
我正在尝试了解此代码是如何工作的:Jquery 扩展、字符串化和isPlainObject,jquery,Jquery,我正在尝试了解此代码是如何工作的: <script> var object1 = { apple: 0, banana: {weight: 52, price: 100}, cherry: 97 }; var object2 = { banana: {price: 200}, durian: 100 }; /* merge object2 into object1 */ $.extend(objec
<script>
var object1 = {
apple: 0,
banana: {weight: 52, price: 100},
cherry: 97
};
var object2 = {
banana: {price: 200},
durian: 100
};
/* merge object2 into object1 */
$.extend(object1, object2);
var printObj = typeof JSON != "undefined"
? JSON.stringify : function(obj) {
var arr = [];
$.each(obj, function(key, val) {
var next = key + ": ";
next += $.isPlainObject(val) ? printObj(val) : val;
arr.push( next );
});
return "{ " + arr.join(", ") + " }";
};
$("#log").append( printObj(object1) );
</script>
var object1={
苹果:0,
香蕉:{重量:52,价格:100},
樱桃:97
};
var object2={
香蕉:{价格:200},
榴莲:100
};
/*将object2合并到object1中*/
$.extend(object1、object2);
var printObj=JSON的类型!=“未定义”
? JSON.stringify:函数(obj){
var-arr=[];
$。每个(对象、功能(键、值){
var next=key+“:”;
next+=$.isPlainObject(val)?printObj(val):val;
arr.push(下一步);
});
返回“{”+arr.join(“,”+“}”;
};
$(“#log”).append(printObj(object1));
我了解
stringify()
和isPlainObject()
在做什么,我一直在测试代码,我意识到没有使用函数(obj)
?这真令人困惑。我不明白 很好的参考!非常感谢您的直接解释,函数(obj)为没有内置JSON对象的浏览器提供了一个回退。如果在IE 8中测试它,它将被用于工具!!!很好,这些评论帮助我理解了这段代码。。。德克萨斯州!!!