终于遇到了打印调试失效的情况了~

来源:互联网 发布:windows mount nfs 编辑:程序博客网 时间:2024/04/19 16:16

这一阵子一直在用javascript, 在用打印调试的时候遇到了这样的情况,执行一下的代码,输出的a不等于0。当时觉得非常奇怪,因为代码特别多,还以为其他其他的地方因为引用了a,而修改了a导致此处a不能正确输出。思考了一会才发现这种解释类程序不像编译程序会顺序执行,可能执行是异步的,不完全等前面一步执行完才走下去,所以,当执行console.log的时候,a的值可能已经被后面的语句修改了,所以打印出看似错误的数据。

代码如下

var aif (XXXX)     a++;else{     a = 0;     console.log(a);}