第三方平台,同一段代码,在开发版、体验版居然出现了两种不同执行结果,震惊!可怕!
发布于 5 年前 作者 oxiang 16010 次浏览 来自 问答
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 回复

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

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

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

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

以上都是大神!

map遍历数组了解一下

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

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

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

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

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

回到顶部