小知识点

204 阅读1分钟

Javascript

  • json.parse和json.strinfy组合可以实现粗糙的对象深拷贝,但是对象中的函数属性会被忽略。json.stringfy可以传三个参数,第二个参数可以自定义格式化,第三个参数为间隔符号。
var censor = function(key,value){
    if(typeof(value) == 'function'){
        return Function.prototype.toString.call(value)
    }
    return value;
}
var foo = {
    bar:"1",baz:3,
    info:{
        sex:'男',
        getSex:function(){return 'sex';}
    }
};
console.log(JSON.stringify(foo,censor,4))
{
    "bar": "1",
    "info": {
        "sex": "男",
        "getSex": "function (){return 'sex';}"
}