TA的每日心情 | 衰 2022-4-9 09:41 |
---|
签到天数: 4 天 [LV.2]偶尔看看I
初级工程师
- 积分
- 70
|
悬赏1油猫币已解决
本帖最后由 WeFarm 于 2021-8-31 10:27 编辑
- var xf = {"2017-1": 0, "2017-2": 0, "2018-1": 0, "2018-2": 0, "2019-1": 0, "2019-2": 0, "2020-1": 0,"2020-2": 0, "2021-1": 0,"2021-2": 0, "2022-1": 0,"2022-2": 0,}//这是一个字典,用于储存每学期的学分
复制代码 这里是一个函数,具体内容是:
1.console.log(xf)
2.发送一个post请求,用于获取学分数据
3.将字典值修改为相应数据
console.log(xf)在post请求之前,所以应该log每个值都是0的字典(也就是刚定义的状态),但我发现log的是获取数据之后的。
断点调试:如果在post请求打上断点,那么返回的就是每个值都是0的字典。
为什么呢?
|
最佳答案
查看完整内容
console在打印对象时只保存对象的引用,而不是对象当时的状态(至少chrome是这样),打印出的对象是收起来的,你什么时候展开,他才会在什么时候去获取对象的值,如果对象在展开前就已经被改变了,那你看到的就是改变后的结果,这与执行顺序无关。JSON.stringify转换成字符串确实可以避免这个问题,还有一个console.table可以试试。 ...
|