第三方平台,同一段代码,在开发版、体验版居然出现了两种不同执行结果,震惊!可怕!

发布于 6 年前作者 oxiang16213 次浏览最后编辑 6 年前来自 ask
let reminders = [-1];
var i;
for (i in reminders) {
 if (reminders[i] != -1) {
   if (reminders[i] == 0) {
     console.log('abc');
   } else {
     console.log('def');
   }
 } else {
   console.log('not invoke');
 }
}

第三方平台开发版执行结果:

这是正常的。

第三方平台体验版执行结果:

for循环居然走了2次,我打印了log,第二次for循环,变量i是null,reminders[i]也是null。呵呵呵呵呵呵呵呵呵

9 回复
jie17
jie171 楼6 年前

所有质疑我的人,你们都没注意到重点,__开发版与体验版执行结果不一样,__我并未说体验版的执行结果不对,我也没说开发版的执行结果就是对的。

问题在于为什么开发版与体验版执行结果不一样!

问题在于为什么开发版与体验版执行结果不一样!

问题在于为什么开发版与体验版执行结果不一样!

scao
scao2 楼6 年前

以上都是大神!

lina
lina3 楼6 年前

map遍历数组了解一下

min81
min814 楼6 年前

for in 会对数组进行一次操作 底层搞清楚吧

xiayin
xiayin5 楼6 年前

我也曾遇到。 太可怕了。。。。。。

chaoshi
chaoshi6 楼6 年前

习惯就好

changlei
changlei7 楼6 年前

运行环境不一样,一切以真机为准呗

iding
iding8 楼6 年前

大哥,你不知道数组还有个length属性吗?for in 一个数组会多一次啊

xgu
xgu9 楼5 年前

遍历数组不要用for in,for in的结果会受到外部因素的影响