有循环调用时使用 JSON.stringify
//转载 但是 忘了原作地址。。。 // 声明cache变量,便于匹配是否有循环引用的情况 var cache = []; var str = JSON.stringify(engine.gameAttributes.h, function(key, value) { if (typeof value === 'object' && value !== null) { if (cache.indexOf(value) !== -1) { // 移除 return; } // 收集所有的值 cache.push(value); } return value; },'\t'); cache = null; // 清空变量,便于垃圾回收机制回收