JavaScript-使用console调试js程序遇到的问题?

JavaScript-使用console调试js程序遇到的问题?

归属感 发布于 2017-08-28 字数 435 浏览 1144 回复 1

在对js的一段程序调试的时候,在程序片段中使用console.log(),想输出运行到某个代码时一些值的变化,主要跟踪下程序的执行哪里出问题,但是输出到 console 中的值一直很诡异,完全不是我想的那样,最后将js代码删减,一直删减到如下:

<script type="text/javascript">
var test=["aa","bb","cc"];
console.log(test);
test.splice(2);
console.log(test);
</script>

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

想挽留 2017-09-17 1 楼

本来是想写评论的,由于不能传图片,我只能以答案来回答你了
我用你的代码调试没有问题,是能够完整的输出数组,我怀疑是你的firebug或者是浏览器版本问题,重新安装一下试试吧.
以下是我调试的结果:(我的环境是:firefox9.0.1, firebug:1.9.1)

至于Chrome下的问题:

我用Chrome测试了一下,确实是这样的,在Google找找了些国外的资料,发现这个问题是Chrome的一个Bug(至今未修复),大致的原因是这样的:由于第一个console.log(test)的test内容,在Chrome内部线程中还未输出到控制台就被下一条test.splice(2)改变了test数组的值,所以导致两个console.log(test)都输出,['aa', 'bb'],所以在webkit的引擎下,该问题的解决方案就是无解,还是乖乖用Firefox吧。