猜测以下代码的输出
let test = {}; function func1(test) { test.obj = test.obj || []; } function func2(test) { test.obj['test'] = test.obj['test'] || {ok:true}; } func1(test); func2(test); console.log("test1==", test); // { obj: [ test: { ok: true } ] } console.log("test2==", JSON.stringify(test)); // {"obj":[]} console.log("test3==", JSON.stringify(test.obj['test'])); //{"ok":true}
- 默认情况下,object日志输出的时候,会往下几级,输出结果尽可能的完整,所以可以完整输出
- array类型支持字符串之类的作为下标索引,但JSON.stringify的时候,会被忽略,所以输出的是个空的数组
- 数据还是存在的