let l = console.log;
let obj = {
	name:'张三',
	age:18,
	sex:undefined,
	fn: function(){
		alert(123)
	},
	sym:Symbol('this is a Symbol'),
	arr:[1,undefined,this.fn,this.sym],
				//定义 返回结果
	toJSON:function(){
	    var results = {
		 status:200,
		 data: 'name:'+ this.name
	    }
		return results
	}
				
}
	let nbj = JSON.stringify(obj)
	let nbj_a = JSON.stringify(obj,['age']) //第二位参数,指定返回参数,其他的全部过滤
	let nbj_b = JSON.stringify(obj,['age'],2) //第三位参数,美化作用,格式化
	//JSON.stringify 过滤 函数,undefined 及 symbol类型
	l(obj) //{name: "张三", age: 18, sex: undefined, sym: Symbol(this is a Symbol), fn: ƒ, arr: (4) [1, undefined, undefined, undefined]}
	l(nbj) //{"name":"张三","age":18,"arr":[1,null,null,null]}
	l(nbj_a) //{"age":18}
	l(nbj_b) //{
					  // "age": 18
//}