是否可以将javascript对象编码为javascript(而不是json)?

时间:2016-07-07 22:13:08

标签: javascript json

我知道可以使用JSON.stringify将JavaScript数据对象转换为JSON。 e.g:

var cat = {
    soundString: 'Meow!'
};

然后调用JSON.stringify(cat)获取"{"soundString":"Meow!"}"

我很想知道是否可以与此并行,除了不将JavaScript对象转换为JSON,将其转换为可以评估回对象的JavaScript字符串。

var cat = {
    meow: function() {
        console.log('Meow!');
    }
};

我想要一些可以接受cat对象并生成字符串"{meow: function(){console.log('Meow!');}}"的东西,可以使用eval解析它。

这可以实现吗?

1 个答案:

答案 0 :(得分:1)

编写递归深层复制方法并检查Array.isArray(item)

使用.hasOwnProperty来避免原型链

在任何地方添加其他引文

var str = "{"
for (var key in cat) {
    str += key + ":" + cat[key] + ","
}
str = str.substr(0, str.length-1) + "}"