var students = {};
students.app = 'nmm';
students.aps = 'nms';
students.ape = 'jju';
var json = JSON.stringify(students,switchUpper);
function switchUpper(key, value) {
if (typeof value=='string') {
return value;
}
}
console.log(json)
菜鸟一枚求助!!当JSON.stringify()方法的第二个参数为函数时。函数里的两个参数是由谁传进来的,key是不是app,aps,ape?value是不是'nmm','nms','jju'?如果是,为什么函数里面达到条件了最后json返回的undefined??
根节点的
key
是''
空字符串value
是这个对象例如这样的对象
switchUpper
遍历的顺序分别是
1 . key:
''
,value:{name:1,children:{name:2}}
2 .key:
name
,value:1
3 .key:
children
,value:{name:2}
4 .key:
name
,value:2
当有返回
undefined
他的子对象就被删除 例如1
的时候返回undefined
234就都不会执行所以你第一次进入的时候
value
是students
所以不是字符串返回undefined
就没有然后了