有循环调用时使用 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; // 清空变量,便于垃圾回收机制回收

 

posted @ 2021-05-13 17:59  狸猫猫  阅读(53)  评论(0)    收藏  举报