关于console.log()引发的思考

JavaScript 深入了解基本类型和引用类型的值:https://segmentfault.com/a/1190000006752076

最近修改 同事的代码,return getData().then(res=>{console.log(res) })

接口返回的对象数组 dust值为numer类型,但是我在调用这个api的时候,请求回调函数第一行打印值的时候却变了,变成了两位小数且为字符串类型。然后死磕api和axios,.then回调函数代码后面有修改和截取字符串的地方,但是为什么一行代码却变了呢?

第一次猜想:console.log()是同步的,后面再怎么修改都不会影响我第一行代码值

结果大错特错,还是没有想到引用类型,console.log这个函数本身是同步的,主要是打印的值,如果是基本数据类型,没问题。如果打印的如果是引用类型,运行的结果当前值而不是运行时候的值。后面的代码已经将数组修改了,所以即使是第一行打印,结果也是修改后的值。

 

 

posted @ 2021-12-10 09:34  赵辉Coder  阅读(119)  评论(0编辑  收藏  举报