文章详情页
javascript 的console.log 问题
浏览:298日期:2023-04-20 18:12:42
问题描述
1、chrome调试下 console打印一个对象,对像没展开时,显示是个空对象,点击展开后竟然发现里面有值,这是什么鬼?2、图一是没展开的显示是个空对象,图二是展开的里面竟然有值。

问题解答
回答1:你先打印了那个空对象,你打印后到你点开这段时间里,ajax异步填充了这个对象,所以点出来才会有值,这是个异步操作,你不能提前使用这个空对象。
回答2:不打开控制台的情况下, console.log就是这样的
回答3:console.log打印一个对象时。如果是一个对象,他就指向一片内存。这片内存一开始为空,后来ajax拿来数据,填充了之后。就不为空了。console.log你可以认为它是响应式的
回答4:由于显示在控制台中的数据不会实时更新,所以上面只是打印出来的日志。
当你一开始打印Object时,它的确是空对象。但是后来,AJAX返回的数据填充了这个对象。而你展开的时候,由于上面展开显示是从内存里读取的数据,所以你点开的时候是有值的。
不过由于上面的日志输出后无法回撤或者更新,所以上面打印出来的Object{}还保留着。
标签:
JavaScript
上一条:javascript - 在用ajax与后端交互时,如何写data部分比较好?下一条:javascript - 单个页面执行多个jsonp的ajax请求,如何判断一个ajax请求执行完毕执行再另一个?
相关文章:
1. dockerfile - 我用docker build的时候出现下边问题 麻烦帮我看一下2. docker - 各位电脑上有多少个容器啊?容器一多,自己都搞混了,咋办呢?3. dockerfile - 为什么docker容器启动不了?4. javascript - 编程,算法的问题5. angular.js使用$resource服务把数据存入mongodb的问题。6. docker - 如何修改运行中容器的配置7. java - 为什么第一个线程已经释放了锁,第二个线程却不行?8. 我在centos容器里安装docker,也就是在容器里安装容器,报错了?9. 在应用配置文件 app.php 中找不到’route_check_cache’配置项10. 使用git管理webpack的代码时多人怎么协作?一般托管哪些文件?
排行榜

网公网安备